다음 디렉토리에서 스크립트를 실행하고 있습니다.
a/b/c/d/script.bash
이와 같은 환경 변수 projroot를 만들어야 합니다.
script=$(readlink -f $0) # Absolute path to this script.
export projroot=$(dirname $(dirname $script)) #This points to the absolute path
대신 을 가리키 projroot
도록 어떻게 정의합니까 ?projroot
a/b
a/b/c
답변1
중첩을 사용 dirname
하거나 다음을 사용할 수 있습니다.Bash 매개변수 확장그리고 realpath
.
실제 경로 사용:
script=$(readlink -f "$0")
export projroot=$(realpath -mL "${script}/../../..")
Bash 매개변수 확장을 사용합니다.
script=$(readlink -f "$0")
export projroot="${script%/*/*/*}"