"which" 명령은 사용자 정의 경로 위치에 대한 출력을 표시하지 않습니다.

"which" 명령은 사용자 정의 경로 위치에 대한 출력을 표시하지 않습니다.

상상하다

GitHub에 ProductivityScripts 프로젝트가 있고 Linux(Debian 9)를 설치할 때 PATH사용하기 쉽도록 이 폴더를 추가했습니다.

즉, 다음 줄을 추가합니다 ~/.bashrc.

export PATH="~/Dev/ProductivityScripts:$PATH"

효과가있다. 이제 어디에서나 이 폴더 내에서 이름으로 스크립트를 실행할 수 있습니다.

alec@my_host:~$ capsalt
SUCCESS!

그러나 입력하면 which capsalt아무런 출력도 얻지 못합니다.

which대부분의 일이 작동합니다.

alec@my_host:~$ which git
/usr/bin/git

질문

whichPATH에 수동으로 추가된 위치에서 사용 가능한 스크립트를 추적 하는 것이 가능하지 않습니까 ? 아니면 이것이 작동하지 않는 또 다른 이유가 있습니까?

답변1

~이는 큰따옴표 내에서 변수로 작동하지 않고 which물결표를 자체적으로 확장하지 않기 때문일 가능성이 높습니다 .

사용

PATH="$HOME/Dev/ProductivityScripts:$PATH"

대신에. HOME환경 변수이며 평소처럼 큰따옴표로 확장됩니다. 또한 PATH이미 내보냈으므로 다시 내보낼 필요가 없습니다(전달해도 문제가 없습니다).

물결표에 대한 추가 정보:큰따옴표 안에서 물결표(~)가 확장되지 않는 이유는 무엇입니까?

당신은 또한 볼 수 있습니다" which "를 사용하지 않는 이유는 무엇입니까? 그러면 무엇을 사용해야 합니까?

관련 정보