쉘 스크립트 내에서 ~/.bash_profile을 다시 로드하십시오.

쉘 스크립트 내에서 ~/.bash_profile을 다시 로드하십시오.

다시 로드해야 하는 쉘 스크립트를 작성했지만 ~/.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!

관련 정보