"Bash 쉘스크립트 폴더명 얻기"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
3번째 줄: 3번째 줄:
;Bash 쉘스크립트 현재 폴더명 얻기
;Bash 쉘스크립트 현재 폴더명 얻기
;Bash 쉘스크립트가 있는 폴더명 얻기
;Bash 쉘스크립트가 있는 폴더명 얻기
<source lang='bash'>
<syntaxhighlight lang='bash'>
FOLDER_NAME=$(basename $(dirname $(realpath $0)))
FOLDER_NAME=$(basename $(dirname $(realpath $0)))
</source>
</syntaxhighlight>
:→ 스크립트($0)의 절대경로(realpath)를 얻고, 디렉토리명(dirname)을 얻은 후, 맨 뒷부분인 폴더명(basename)을 얻는다.
:→ 스크립트($0)의 절대경로(realpath)를 얻고, 디렉토리명(dirname)을 얻은 후, 맨 뒷부분인 폴더명(basename)을 얻는다.


==실행예시==
==실행예시==
<source lang='console'>
<syntaxhighlight lang='console'>
root@localhost1:/tmp/aaa# cat test.sh
root@localhost1:/tmp/aaa# cat test.sh
#!/bin/bash
#!/bin/bash
FOLDER_NAME=$(basename $(dirname $(realpath $0)))
FOLDER_NAME=$(basename $(dirname $(realpath $0)))
echo $FOLDER_NAME
echo $FOLDER_NAME
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@localhost1:/tmp/aaa# ./test.sh  
root@localhost1:/tmp/aaa# ./test.sh  
aaa
aaa
22번째 줄: 22번째 줄:
root@localhost1:/tmp/aaa# bash test.sh  
root@localhost1:/tmp/aaa# bash test.sh  
aaa
aaa
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@localhost1:/tmp/aaa# cd ..
root@localhost1:/tmp/aaa# cd ..
root@localhost1:/tmp# ./aaa/test.sh
root@localhost1:/tmp# ./aaa/test.sh
31번째 줄: 31번째 줄:
root@localhost1:/tmp# bash aaa/test.sh  
root@localhost1:/tmp# bash aaa/test.sh  
aaa
aaa
</source>
</syntaxhighlight>
<source lang='console'>
<syntaxhighlight lang='console'>
root@localhost1:/tmp# cd aaa/bbb/
root@localhost1:/tmp# cd aaa/bbb/
root@localhost1:/tmp/aaa/bbb# ../test.sh  
root@localhost1:/tmp/aaa/bbb# ../test.sh  
40번째 줄: 40번째 줄:
root@localhost1:/tmp/aaa/bbb# bash ../test.sh  
root@localhost1:/tmp/aaa/bbb# bash ../test.sh  
aaa
aaa
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==

2020년 11월 2일 (월) 02:39 판

1 개요

Bash 쉘스크립트 폴더명 얻기
Bash 쉘스크립트 현재 폴더명 얻기
Bash 쉘스크립트가 있는 폴더명 얻기
FOLDER_NAME=$(basename $(dirname $(realpath $0)))
→ 스크립트($0)의 절대경로(realpath)를 얻고, 디렉토리명(dirname)을 얻은 후, 맨 뒷부분인 폴더명(basename)을 얻는다.

2 실행예시

root@localhost1:/tmp/aaa# cat test.sh
#!/bin/bash
FOLDER_NAME=$(basename $(dirname $(realpath $0)))
echo $FOLDER_NAME
root@localhost1:/tmp/aaa# ./test.sh 
aaa
root@localhost1:/tmp/aaa# sh test.sh 
aaa
root@localhost1:/tmp/aaa# bash test.sh 
aaa
root@localhost1:/tmp/aaa# cd ..
root@localhost1:/tmp# ./aaa/test.sh
aaa
root@localhost1:/tmp# sh aaa/test.sh
aaa
root@localhost1:/tmp# bash aaa/test.sh 
aaa
root@localhost1:/tmp# cd aaa/bbb/
root@localhost1:/tmp/aaa/bbb# ../test.sh 
aaa
root@localhost1:/tmp/aaa/bbb# sh ../test.sh 
aaa
root@localhost1:/tmp/aaa/bbb# bash ../test.sh 
aaa

3 같이 보기

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