실행 파일이 저장된 위치를 알 수 있습니까?
내 오픈 소스 프로젝트의 경우 일부 작업을 자동화하기 위해 작은 bash 스크립트를 작성했습니다. 이 스크립트는 프로젝트의 루트 디렉터리에 있으며 아래의 모든 파일에 대해 작업을 수행합니다. 사람들은 컴퓨터의 즐겨찾는 경로에 프로젝트 파일을 넣기 때문에 cd /home/nico/projects/theproject
스크립트 시작 부분에만 하드코딩할 수는 없습니다. 나는 cd
실행하기 전에 사람들이 매번 프로젝트 디렉토리에 수동으로 들어가도록 강요하고 싶지 않습니다 . 나는 사람들이 Gnome 단축키를 사용하여 스크립트를 시작할 수 있기를 바랍니다. 이렇게 하려면 스크립트가 저장된 위치를 알아야 합니다.
답변1
#! /bin/bash
echo I am located in $(dirname "$0")
cd "$(dirname "$0")"
이는 상대 경로일 수 있습니다.
답변2
#! /bin/bash
w=$(cd "$(dirname "$0")" && echo "$PWD")
echo I am located in "$w"
cjm의 답변을 바탕으로 위의 방법은 경로를 절대 경로로 만들고(하위 쉘을 사용하여 경로에 cd
도달 echo
)$PWD