쉘에서 일반적인 커맨드 대체에 대한 예시이다.
$ filename=/home/www/file1
$ firstchar=$(echo $filename | cut -c1)
/를 ^로 변경한다
$ echo $filename | tr "$firstchar" "^"
^users^steve^memos
$ filename=$(echo $filename | tr "$firstchar" "^")
$ echo $filename
^users^steve^memos
$
커맨드 대체는 중첩될 수 있다. $()안에 $()을 추가할 수 있는 커맨드 대체이다.
변수에 첫 번째 문자가 나타날 때마다 다른 문자로 변경하려고 한다고 가정한 예시를 살펴본다.
$ filename=/home/www/file1
$ echo $filename | tr "$(echo $filename | cut -c1)" "^"
^home^www^file1
$ filename=$(echo $filename | tr "$(echo $filename | cut -c1)" "^")
$ echo $filename
^home^www^file1
$
'unix and linux' 카테고리의 다른 글
[sed] 레지스터 저장 예시 (0) | 2017.01.09 |
---|---|
ntpd - ntpd 잘못 설치했지만 동작하도록 수정하기 (0) | 2017.01.09 |
[shell] 여러 파일의 내용을 반복적으로 실행하기 (0) | 2017.01.06 |
[shell] 역슬래시(\) 예시 (0) | 2017.01.05 |
[shell] 따옴표 없는 것, 작은 따옴표, 큰 따옴표 사이의 주요 차이점 (0) | 2017.01.05 |