“which”없이 경로에서 파일을 찾으십니까? 있습니다. $ assemble.sh file … [output] 그러나 which그것을 찾을 수

나는 어떻게 든 스크립트를 실행할 수 있습니다.

$ 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:.
  1. 이것이 어떻게 가능한지?
  2. 이 파일이 어디에 있는지 어떻게 알 수 있습니까?

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/binSolaris에서만 의미 가있는 항목 을 갖습니다. 솔라리스는 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파일 위치를 찾는 데 사용할 수 있습니다 .


답변