
remove :
cd ./test
rm -rf *
위 예시에서 cd ./test와 rm -rf *는 각각 서로 다른 셸에서 수행된다.
따라서 위처럼 작성하면 현재 디렉터리가 텅 비어버리는 불상사가 발생한다.
이를 방지하기 위해선, 한 행에 작성할 수 있도록 해주는 셸 와일드 카드를 사용해야 한다.
| 와일드 카드 | 설명 |
|---|---|
| ; | 명령을 이어서 수행한다. |
| && | 앞 명령이 성공해야, 뒷 명령을 실행한다. (logical AND) |
| || | 앞 명령이 실패해야, 뒷 명령을 실행한다. (logical OR) |
와일드 카드 ;를 이용하여 다음과 같이 작성하면 작성자의 의도대로 동작한다.
remove :
cd ./test; rm -rf *
cd ./test명령이 실패하면 현재 디렉터리가 지워질 수도 있다.&&를 사용하여, cd ./test명령이 성공해야만 rm -rf *명령을 수행하도록 하면 된다.remove :
cd ./test && rm -rf *
@를 붙이면 그 명령어에 대해서만 에코 기능이 꺼진다.echo :
@cd ./test
@echo "Hello World"
.SILENT를 사용한다..SILENT :
echo :
cd ./test
echo "Hello World"
$?를 출력해보면 이전 명령어의 리턴 값을 확인 할 수 있다.-를 붙여야 한다.cat :
-cat test.txt
.IGNORE를 사용한다..IGNORE :
cat :
cat test.txt
$를 두개 사용하여 $${변수명}으로 셸 변수를 참조할 수 있다.echo :
echo $${PWD}