Перезагрузите файл ~ / .bash_profile из сценария оболочки

Я написал сценарий оболочки, который должен перезагрузить файл ~/.bash_profile , но он не работает. Вот код.

 echo 'export PATH=$PATH":$HOME/.bin"' >> ~/.profile mkdir ~/.bin cp passwrdgen ~/.bin chmod +x ~/.bin/passwrdgen . ~/.profile echo Done! 

Как вы считаете, вы ожидаете, что PATH будет изменен вне подоболочки, в которой выполняется скрипт?

Это не сработает. Когда вы экспортируете переменные, вы делаете это только для текущей оболочки .

Ваш скрипт кажется прекрасным, попробуйте добавить строку, которая печатает PATH в нижней части экрана, чтобы убедиться:

 echo 'export PATH=$PATH":$HOME/.bin"' >> ~/.profile mkdir ~/.bin cp passwrdgen ~/.bin chmod +x ~/.bin/passwrdgen . ~/.profile echo "$PATH" echo Done!