При необходимости задать много путей в $ PATH, затем написал этот код для загрузки из текстового файла:
#!/bin/bash
cd ~
echo '#++++++' >> ./pathlstbkp
cat ./pathlst >> ./pathlstbkp
while read pth; do
cmd='export PATH="'$pth':$PATH"'
eval ${cmd}
done < ./pathlst
echo '' > ./pathlst
Как вы можете видеть , описанный здесь при использовании eval оцененная команда не выполняется в подоболочке.
Но это не меняет переменную $ PATH.
Теперь понял, что происходит что-то странное, это не работает на моем тестовом Ubuntu-LTS18-Minimal-X64, но работает на моей основной машине, Debian9.
Я удалил виртуальную машину и сделал то же самое снова, и она работает, наверное, было что-то в окружении
.