Shell 의${},\#\#와%%사용 범례

2264 단어 Shell${}##%%
오늘 스 크 립 트 파일 을 볼 때 잘 모 르 는 부분 이 있어 서 글 한 편 을 찾 아 봤 는데 괜 찮 은 것 같 아서 남 겨 두 었 습 니 다.
 
만약 에 우리 가 변 수 를 정의 했다 면:

file=/dir1/dir2/dir3/my.file.txt
${}로 각각 다른 값 을 바 꿀 수 있 습 니 다:

${file#*/}: / :dir1/dir2/dir3/my.file.txt
${file##*/}: /  :my.file.txt
${file#*.}: .  :file.txt
${file##*.}: .  :txt
${file%/*}:   /  :/dir1/dir2/dir3
${file%%/*}: /  :( )
${file%.*}:   .  :/dir1/dir2/dir3/my.file
${file%%.*}:   .   :/dir1/dir2/dir3/my
기억의 방법 은:

# ( # $ )
% ( % $ )

${file:0:5}: 5 :/dir1
${file:5:5}: 5 5 :/dir2
변수 값 의 문자열 을 바 꿀 수도 있 습 니 다:

${file/dir/path}: dir path:/path1/dir2/dir3/my.file.txt
${file//dir/path}: dir path:/path1/path2/path3/my.file.txt
${}을 이용 하여 서로 다른 변수 상태 에 값 을 부여 할 수 있 습 니 다(]설정,빈 값,비 빈 값):
${file-my.file.txt}:$file]이 설정 되 어 있 으 면 t 는 my.file.txt 를 전송 값 으로 사용 합 니 다.(빈 값 및 비 빈 값 r 처리 하지 않 음)
${file:-my.file.txt}:만약$file]O 정 또는 정자 덮개 t 가 있다 면 my.file.txt 를 사용 하여 주사 위 를 만 듭 니 다.
${file+my.file.txt}:만약$file O 정자 덮개 비 강 커버 는 모두 my.file.txt 를 사용 하여 주사 위 를 만 들 고 게 으 름(]O 정 r 는 처리 하지 않 습 니 다)
${file:+my.file.txt}:$file 느티나무 강 커버 t 는 my.file.txt 를 사용 하여 주사 위 를 만 듭 니 다.
${file=my.file.txt}:$file]O 가 정 해 지면 t 는 my.file.txt 를 주사 위 를 사용 하여 r$file x 값 my.file.txt 를 부담 합 니 다.(빈 값 및 비 빈 값 r 처리 하지 않 음)
${file:=my.file.txt}:$file]O 정 또는 정자 덮개 t 는 my.file.txt 를 주사 위 를 사용 하여 r$file x 값 my.file.txt 를 부담 합 니 다.(빈 값 이 아 닌 r 는 처리 하지 않 습 니 다)
${file?my.file.txt}:$file]O 가 정 해 지면 t my.file.txt 는 STDERR 로 나 옵 니 다.(빈 값 및 비 빈 값 r 처리 하지 않 음)
${file:?my.file.txt}:$file 이 설정 되 지 않 았 거나 비어 있 으 면 my.file.txt 를 STDERR 로 출력 합 니 다.(빈 값 이 아 닌 r 는 처리 하지 않 습 니 다)
${\#var}변수 값 의 길 이 를 계산 할 수 있 습 니 다:
${\#file}27 을 얻 을 수 있 습 니 다./dir 1/dir 2/dir 3/my.file.txt 는 27 바이트 이기 때 문 입 니 다.
[/code]

좋은 웹페이지 즐겨찾기