PATH
저는 Ubuntu를 사용하고 있으며 내 스크립트가 포함된 하위 폴더가 포함된 폴더에 폴더를 추가하려고 합니다 .
내 폴더 경로는 다음과 같습니다.
/opt/tools/utils/my_script.sh
/opt/tools/steps/my_script.sh
다른 스크립트도 존재하지만 내 초점은 다음과 같습니다.my_script.sh
다음을 수행하는 저장소에서 복제된 스크립트가 있습니다.
export PATH=$PATH:/opt/tools
그런 다음 을 호출합니다 utils/my_script.sh
. 이것은 내 컴퓨터에서는 잘 작동하지만 동료의 컴퓨터에서는 이것이 utils/my_script.sh
파일이나 디렉터리가 아니라고 말합니다. 이 문제를 어떻게 해결하나요?
답변1
그런 일은 일어나지 않았습니다 PATH
. 상위 디렉터리를 추가하면 단순히 하위 디렉터리를 호출할 수 없습니다.
$ cat ~/foo/bin/bar.sh
#!/bin/sh
echo yeh!
~/foo
이제 내 항목에 추가하면 다음 PATH
을 사용하여 스크립트를 호출할 수 없습니다 bin/bar.sh
.
$ PATH="~/foo:$PATH"
$ bin/bar.sh
bash: bin/bar.sh: No such file or directory
이미 가입한 경우에만 이 작업을 수행할 수 있습니다 ~/foo
.
$ cd ~/foo/
$ bin/bar.sh
yeh!
디렉토리의 파일을 사용 가능하게 만드는 올바른 방법은 PATH
디렉토리의 상위 디렉토리뿐만 아니라 디렉토리 자체를 추가하는 것입니다.
PATH="~/foo/bin:$PATH"
bar.sh
이제 어디서나 전화를 걸 수 있습니다 .
$ cd /
$ bar.sh
yeh!
즉, 귀하의 컴퓨터에서도 실행되지 않습니다. 당신은 utils/my_script.sh
탈출 한 게 틀림없어요 /opt/tools
. 시도해 cd /
보면 utils/my_script.sh
그것이 당신에게도 실패한다는 것을 알게 될 것입니다.