"Bash 쉘스크립트 상대경로 얻기"의 두 판 사이의 차이

 
(사용자 2명의 중간 판 6개는 보이지 않습니다)
8번째 줄: 8번째 줄:


==방법==
==방법==
<source lang='bash'>
<syntaxhighlight lang='bash'>
script_dir=`dirname $0`
script_dir=`dirname $0`
</source>
</syntaxhighlight>


==실습==
==실습==
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/tmp# tree aa
root@zetawiki:/tmp# tree aa
aa
aa
20번째 줄: 20번째 줄:


1 directory, 1 file
1 directory, 1 file
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/tmp# cat aa/test.sh
root@zetawiki:/tmp# cat aa/test.sh
script_dir=$(dirname $0)
script_dir=$(dirname $0)
echo $script_dir
echo $script_dir
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/tmp# sh aa/test.sh  
root@zetawiki:/tmp# sh aa/test.sh  
aa
aa
root@zetawiki:/tmp# bash aa/test.sh  
root@zetawiki:/tmp# bash aa/test.sh  
aa
aa
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/tmp# cd aa/bb
root@zetawiki:/tmp/aa/bb# sh ../test.sh  
root@zetawiki:/tmp/aa/bb# sh ../test.sh  
..
..
root@zetawiki:/tmp/aa/bb# bash ../test.sh  
root@zetawiki:/tmp/aa/bb# bash ../test.sh  
..
..
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@zetawiki:/tmp/aa/bb# sh /tmp/aa/test.sh  
root@zetawiki:/tmp/aa/bb# sh /tmp/aa/test.sh  
/tmp/aa
/tmp/aa
root@zetawiki:/tmp/aa/bb# bash /tmp/aa/test.sh  
root@zetawiki:/tmp/aa/bb# bash /tmp/aa/test.sh  
/tmp/aa
/tmp/aa
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==
* [[리눅스 환경변수 $BASH_SOURCE]]
* [[Bash 쉘 스크립트 위치로 이동]]
* [[Bash 쉘스크립트 절대경로 얻기]]
* [[리눅스 $0]]
* [[리눅스 $BASH_SOURCE]]
* [[리눅스 dirname]]
* [[리눅스 dirname]]
* [[리눅스 pwd]]
* [[리눅스 pwd]]
* [[Bash 쉘스크립트 절대경로 얻기]]


==참고==
==참고==
*http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
*http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in


[[분류: Bash]]
[[분류: bash 스크립트]]

2021년 11월 6일 (토) 00:06 기준 최신판

1 개요[ | ]

What directory a bash script file is stored in?
Bash 파일 현재 디렉토리 확인
Bash 파일 있는 폴더 확인
Bash 쉘스크립트 상대경로 얻기
  • 스크립트를 찾아간 경로를 그대로 얻는 방법
  • 상대경로라면 상대적 위치, 절대경로라면 절대적 위치를 알려줌

2 방법[ | ]

script_dir=`dirname $0`

3 실습[ | ]

root@zetawiki:/tmp# tree aa
aa
├── bb
└── test.sh

1 directory, 1 file
root@zetawiki:/tmp# cat aa/test.sh
script_dir=$(dirname $0)
echo $script_dir
root@zetawiki:/tmp# sh aa/test.sh 
aa
root@zetawiki:/tmp# bash aa/test.sh 
aa
root@zetawiki:/tmp# cd aa/bb
root@zetawiki:/tmp/aa/bb# sh ../test.sh 
..
root@zetawiki:/tmp/aa/bb# bash ../test.sh 
..
root@zetawiki:/tmp/aa/bb# sh /tmp/aa/test.sh 
/tmp/aa
root@zetawiki:/tmp/aa/bb# bash /tmp/aa/test.sh 
/tmp/aa

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}