스크립트에서 현대 디렉토리를 지정하기 위해 다음과 같은 스크립트를 많이 사용한다.
my_root=$(cd $(dirname $(readlink $0 || echo $0))/../;/bin/pwd)
그런데 맥에서 이런 에러가 발생했다.
dirname: illegal option -- b
bash에서 $0이 스크립트 경로를 알려주는 것이라 알고 있긴 하지만... 사실 보장하지 않는다.
완벽히 보장하는 bash script를 개발하려면 BASH_SOURCE를 사용하길 바란다.
SCRIPT_PATH=${BASH_SOURCE[0]}
my_root=$(cd $(dirname $(readlink ${SCRIPT_PATH} || echo ${SCRIPT_PATH}))/../;/bin/pwd)
'c or linux' 카테고리의 다른 글
[리눅스] pip, pipenv 설치하기 (0) | 2019.06.05 |
---|---|
bash 에서 ping을 사용해 연속하는 호스트의 ip 얻기 loop seq host (0) | 2019.01.30 |
디스크 볼륨 추가/마운트 (/etc/fstab, blkid) (0) | 2017.12.20 |
ssh - administratively prohibited: open failed (0) | 2017.09.15 |
cpu 타입 확인하기 (0) | 2017.05.24 |