블로그 이미지
progh2
지루한 것에서 벗어나 재미난 것 속으로 풍덩~☆

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Recent Post

Recent Comment

Archive

리스트
and 리스트 구조 - 이전의 모든 명령이 성공적이었다면 다음 명령을 실행하며 일련의 명령을 실행하게 해준다.
statement1 && statement2 && ...
각 문장은 왼쪽에서부터 실행되고, 이것이 true를 반환하면 오른쪽 다음 문장이 실행도니다. 이런 과정이 false를 반환할 때까지 계속된다. &&는 이전 명령의 조건을 테스트한다.

or 리스트 구조 - 하나의 명령이 성공할 때까지 일련의 명령을 실행
statement1 || statement2 || ...
각 문장은 왼쪽에서부터 실행되며 false를 반환하면 오른쪽의 문장이 실행, true를 반환할 때까지 계속되며 true를 반환하면 멈추게 된다.
[CODE]#!/bin/sh # and list touch file_one rm -f file_two if [ -f file_one ] && echo "hello" && [ -f file_two ] && echo " there" then echo "in if" else echo "in else" fi # or list rm -f file_one if [ -f file_one ] || echo "hello" || echo " there" ; then echo "in if" else echo "in else" fi exit 0[/CODE]
or 리스트 구조에서 결과를 결정하기 위해 최소의 문장들이 실행된다. 이것을 흔히 최단 평가 (short circuit evaluation)이라고 한다.
and 와 or 구조를 결합한 유용한 사용법
테스트가 성공적이면 전자를, 실패하면 후자를 실행
[ -f file_one ] && command for true || command for false
문장블록
and나 or 리스트에서 다음과 같이 한 문장이 허용되는 경우에 여러 문장을 사용하기 원한다면 문장 블록을 만들기 위해 중괄호{}에 문장을 포함시킬 수 있다.
get_confirm && {
grep -v "$cdcatnum" $tracks_file > $temp_file
cat $temp_file > $tracks_file
echo
add_record_trakcs
}
posted by progh2