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}