스크립트 내에서 Bash 스크립트가 있는 디렉토리를 찾는 방법

Seukeulibteu Naeeseo Bash Seukeulibteuga Issneun Dilegtolileul Chajneun Bangbeob



bash 스크립트로 작업할 때 스크립트 위치를 아는 것이 도움이 됩니다. 이는 상대 파일 경로로 작업하거나 스크립트 내에서 다른 스크립트 또는 명령을 실행하려고 할 때 특히 유용할 수 있습니다. 이 기사에서는 스크립트 자체 내에서 bash 스크립트의 디렉토리를 결정하는 몇 가지 다른 방법을 살펴보겠습니다.

스크립트 내에서 Bash 스크립트가 있는 디렉토리를 찾는 방법

bash 스크립팅 중에는 다양한 작업을 자동화하기 위해 스크립트 위치가 필요할 수 있습니다. Linux에는 두 가지 유형의 경로가 있습니다.

  • 친척 경로: 상대는 현재 작업 디렉토리입니다.
  • 절대 경로: 디렉토리 및 파일의 전체 경로입니다.

bash 스크립트의 위치를 ​​결정하는 가장 일반적인 방법 중 하나는 비밀번호 명령. 그만큼 비밀번호 명령 ( 인쇄 작업 디렉토리) 현재 디렉토리를 보여줍니다.







따라서 많은 상황에서 단순히 비밀번호 명령은 현재 작업 중인 디렉토리의 경로만 제공하므로 작동하지 않습니다.



예를 들어 스크립트가 다운로드 디렉토리에서 실행되고 있습니다. 데스크탑 그러면 출력에 다음이 포함됩니다. /홈/usr/데스크톱 bash 스크립트 파일의 위치가 아닙니다. /홈/usr/다운로드 .



이 튜토리얼은 스크립트 내에서 bash 스크립트 파일이 위치한 디렉토리의 경로를 얻는 것에 관한 것입니다.





Bash 스크립트 파일이 있는 디렉토리 경로를 얻는 방법

Bash 스크립트의 디렉토리를 결정하는 또 다른 방법은 다음을 사용하는 것입니다. 이름 명령. 그만큼 이름 명령은 파일 경로를 인수로 사용하고 경로의 디렉터리 부분을 반환합니다.

사용 이름 명령을 사용하여 스크립트의 디렉터리를 결정하려면 스크립트에 대한 마지막 비슬래시 구성 요소까지의 경로를 인수로 사용하여 명령을 호출합니다.



자세한 내용은 이름 터미널에서 다음 명령을 실행합니다.

$ 남성 이름

오직 이름 작동하지 않습니다. 다른 명령이 필요합니다. 읽기 링크 . 그만큼 읽기 링크 명령 인쇄가 심볼릭 링크를 해결했습니다. 다음을 실행하여 이 명령에 대한 자세한 정보를 얻으십시오.

$ 남성 읽기 링크

지금, 스크립트 만들기 :

$ 스도 나노 myScript.sh

그리고 다음을 입력합니다.

#!/빈/배시

에코 'bash 스크립트 경로는 $(디렉터리 이름 -- '$(readlink -f – '$0') ' ; ) ';

스크립트를 실행하려면 다음을 사용하십시오.

$ 세게 때리다 myScript.sh

디렉토리를 변경하고 출력이 무엇인지 봅시다:

메모: 어떤 경우에는 다음 출력에서 ​​볼 수 있듯이 파일이 실행되는 대신 소싱되는 경우 위의 스크립트가 작동하지 않습니다.

출력은 /홈/샘/데스크톱 반면 스크립트 파일은 /홈/샘 예배 규칙서.

결론

결론적으로 스크립트 자체 내에서 bash 스크립트의 디렉토리를 결정하는 방법에는 여러 가지가 있습니다. 그만큼 이름 와 함께 읽기 링크 유틸리티를 사용하여 스크립트의 디렉토리를 결정할 수 있습니다. 그러나 단순히 비밀번호 명령은 현재 작업 중인 디렉터리만 제공하므로 작동하지 않습니다.