![쉘 스크립트 내에서 ~/.bash_profile을 다시 로드하십시오.](https://linux55.com/image/107219/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%20%EB%82%B4%EC%97%90%EC%84%9C%20~%2F.bash_profile%EC%9D%84%20%EB%8B%A4%EC%8B%9C%20%EB%A1%9C%EB%93%9C%ED%95%98%EC%8B%AD%EC%8B%9C%EC%98%A4..png)
다시 로드해야 하는 쉘 스크립트를 작성했지만 ~/.bash_profile
작동하지 않습니다. 코드는 다음과 같습니다.
echo 'export PATH=$PATH":$HOME/.bin"' >> ~/.profile
mkdir ~/.bin
cp passwrdgen ~/.bin
chmod +x ~/.bin/passwrdgen
. ~/.profile
echo Done!
답변1
thrig가 지적했듯이 PATH가 스크립트가 실행되는 하위 쉘 외부에서 변경될 것으로 예상합니까?
그건 작동하지 않습니다. 변수를 내보낼 때 다음을 수행합니다.현재 쉘에만 적용됩니다..
스크립트가 괜찮아 보입니다. 스크립트 하단에 PATH를 인쇄하는 줄을 추가하여 다음을 확인하세요.
echo 'export PATH=$PATH":$HOME/.bin"' >> ~/.profile
mkdir ~/.bin
cp passwrdgen ~/.bin
chmod +x ~/.bin/passwrdgen
. ~/.profile
echo "$PATH"
echo Done!