Я написал сценарий оболочки, который должен перезагрузить файл ~/.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!