명령을 광범위하게 사용하는 bash 스크립트를 준비했습니다 wget
. 안타깝게도 wget
표준 경로에서는 사용할 수 없지만 다음 위치에서 사용할 수 있습니다.
/usr/custom/bin/wget
별칭을 도입함으로써 경로 없이 bash 콘솔에서 사용할 수 있게 만들 수 있었습니다.
alias wget="/usr/custom/bin/wget"
하지만 여전히 bash 스크립트에서는 볼 수 없습니다.
./deploy.sh: line 312: wget: command not found
스크립트 자체를 다시 작성하지 않고 어떻게 작동하게 할 수 있나요?
폴리스티렌 ~/.bashrc
상자에서 편집할 수 있으므로 변경 사항을 유지하게 되어 기쁩니다.
답변1
이것을 PATH에 추가하거나 다음을 수행 .bash_profile
하십시오 .bashrc
.
export PATH=$PATH:/usr/custom/bin
특정 사용자에게만 적용하고 모든 사용자에게 적용하려면 wget 경로를 /etc/environment
.
답변2
이는 쉘이 기본적으로 env 별칭을 지원하지 않기 때문입니다.
이 문제를 해결하는 방법에는 두 가지가 있습니다.
사용
#!/bin/bash -i
(bash인 경우)/usr/custom/bin/
PATH에 추가하세요
답변3
다음과 같이 스크립트를 호출할 수 있습니다.
PATH=$PATH:/usr/custom/bin/ ./deploy.sh
PATH
이렇게 하면 스크립트가 실행되는 동안에만 값이 변경됩니다.
답변4
스크립트에서 PATH를 확장해야 합니다. 이렇게 하면 해당 디렉토리의 다른 명령이 일반적인 bash 사용을 방해하지 않으며 호출할 때마다 다시 입력할 필요가 없습니다.
#!/bin/bash
PATH=$PATH:/usr/custom/bin/
<rest of your script>