我写了一个需要重新加载的shell脚本~/.bash_profile
,但它不起作用。这是代码。
echo 'export PATH=$PATH":$HOME/.bin"' >> ~/.profile
mkdir ~/.bin
cp passwrdgen ~/.bin
chmod +x ~/.bin/passwrdgen
. ~/.profile
echo Done!
答案1
正如 thrig 所指出的,您是否期望 PATH 在执行脚本的子 shell 之外进行更改?
那是行不通的。当您导出变量时,您会这样做仅适用于当前 shell。
您的脚本看起来不错,尝试添加一行在其底部打印 PATH 以确保:
echo 'export PATH=$PATH":$HOME/.bin"' >> ~/.profile
mkdir ~/.bin
cp passwrdgen ~/.bin
chmod +x ~/.bin/passwrdgen
. ~/.profile
echo "$PATH"
echo Done!