Загрузка новых путей из каждой строки в текстовом файле с помощью eval не обновлять переменную $ PATH в bash

При необходимости задать много путей в $ 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.

0
задан 21 March 2019 в 20:22
1 ответ

Я удалил виртуальную машину и сделал то же самое снова, и она работает, наверное, было что-то в окружении

.
0
ответ дан 5 December 2019 в 03:42

Теги

Похожие вопросы