나는 어떻게 든 스크립트를 실행할 수 있습니다.
$ assemble.sh file
... [output]
그러나 which
그것을 찾을 수 없습니다 :
$ which assemble.sh
which: no assemble.sh in (/s/std/bin:/usr/afsws/bin:/opt/SUNWspro/bin:/usr/ccs/bin:/usr/ucb:/bin:/usr/bin:/usr/stat/bin:/usr/X11R6/bin:.
- 이것이 어떻게 가능한지?
- 이 파일이 어디에 있는지 어떻게 알 수 있습니까?
bash를 사용하고 있습니다.
답변
이 명령을 사용하십시오 : type assemble.sh
다양한 쉘에서 작동하며 첫 번째 결과 만 보여줍니다.
답변
또는 경로를 분할하고 찾기에 사용하십시오-첫 번째 일치는 솔루션이어야합니다
find ${PATH//:/ } -maxdepth 1 -name assemble.sh -print -quit
type
물론 더 쉽습니다.
답변
bash를 사용하고 있지만 which
출력 구문 which
에 csh로 작성된 이전을 사용하고 있음이 표시 됩니다. PATH는 괄호로 묶여 표시되며 PATH의 디렉토리 는 Solaris /opt/SUNWspro/bin
와 유사 하며 /usr/ccs/bin
Solaris에서만 의미 가있는 항목 을 갖습니다. 솔라리스는 csh를 사용했습니다 which
.
여기 내 추측이 있습니다 : bash에 대한 하나의 PATH와 csh에 대한 하나의 PATH가 있습니다. 시스템 문제 일 수 있습니다. 내가 기억하는 것처럼 Solaris는 시스템 전체의 PATH 설정을 위해 / etc / profile 및 / etc / cshrc 파일을 유지합니다. 이 두 초기화 파일은 다른 쉘에 대해 다른 PATH 변수를 설정할 수 있습니다. bash에서 “echo $ PATH”를 수행하고 which
명령이 PATH 문자열로 출력되는 내용과 일치하는지 확인하십시오 .
답변
command -v assemble.sh
정보
-v`type '내장과 유사한 명령 설명을 출력합니다.
답변
locate assemble.sh
파일 위치를 찾는 데 사용할 수 있습니다 .