이 입력을 어떻게 수정합니까?
/home/USER/Desktop/script.sh
이 출력의 경우:
/home/USER/Desktop/
...사용 bash
하거나 perl
?
물론 script.sh
그것은 무엇이든 될 수 있습니다: (예: scrasdfipt.sh
, 등) 그리고 그 앞의 경로는 무엇이든 될 수 있습니다.
답변1
dirname /home/USER/Desktop/script.sh
답변2
~을 위한정밀한질문, 당신은 사용할 수 있습니다
printf "$(dirname /home/USER/Desktop/script.sh)/"
내 생각에 이것은XY 문제, 내의 파일을 참조하려고 합니다.현재 스크립트와 동일한 디렉터리. 만일이 경우라면:
current_dir="$(dirname -- "$0")"
이 시점에서 다음과 같은 작업을 수행할 수 있습니다.
source "${current_dir}/foo.sh"
echo foo > "${current_dir}/bar.txt"
답변3
배시 사용:
$ dirname -- "$string"
다음과 같이 같은 방법으로 마지막 비트를 얻을 수도 있습니다.
$ basename -- "$string"