Shell 조건 판단 문장 과 if

2914 단어 조건 부 판단IF
조건 판단 문
조건 을 만족 시 키 고 대응 명령 을 집행 하 다.
[조건]: 보통 스 크 립 트 에 많이 사용
예:
[ -f/etc/hosts ]
test 조건: 일반적으로 Linux 문자 단말기 에 많이 사 용 됩 니 다.
1. 파일 이나 디 렉 터 리 판단
- f: 파일 인지 아 닌 지 판단
- d: 디 렉 터 리 여 부 를 판단 합 니 다.
- e: 존재 여부 판단
- r: 파일/디 렉 터 리 에 읽 기 권한 이 있 는 지 판단 합 니 다.
- w: 파일/디 렉 터 리 에 쓰기 권한 이 있 는 지 판단 합 니 다.
- x: 파일/디 렉 터 리 에 실행 권한 이 있 는 지 판단
예:
[- f/etc/hosts]//etc/hosts 가 파일 인지 판단 합 니 다. 파일 이 라면 echo $?틀림없다
[ ! -f/etc/hosts ] ; touch/etc/hosts//판단/etc/hosts 파일 이 아 닌 경우 echo $?틀림없다
[- d/etc]///etc 가 디 렉 터 리 인지 판단 합 니 다. 디 렉 터 리 라면 echo $?틀림없다
[- w/etc/hosts]//etc/hosts 에 쓰기 권한 이 있 는 지 판단 합 니 다. 쓰기 권한 이 있 으 면 echo $?틀림없다
[- e/boot]//판단/boot 가 존재 하 는 지, 존재 하 는 경우 echo $?틀림없다
2. 수치 비교
- eq: 양쪽 수치 가 동일 한 지 판단
- ne: 양쪽 수치 가 다 르 지 않 은 지 판단
- lt: 왼쪽 수치 가 오른쪽 수치 보다 큰 지 판단 합 니 다.
- ge: 왼쪽 수치 가 오른쪽 수치 보다 큰 지 판단 합 니 다.
- lt: 왼쪽 수치 가 오른쪽 수치 보다 작은 지 판단
- le: 왼쪽 수치 가 오른쪽 수치 보다 작 을 지 판단 합 니 다.
예:
[1 - eq 1]//판단 1 이 1 인지, 같 으 면 echo $?틀림없다
[3 - le 5]//판단 3 이 5 보다 작 으 면 echo $?긍정
주: 수치 비 교 는 정수 만 비교 할 수 있 습 니 다.
3. 문자열 비교
= =: 양쪽 문자열 이 완전히 동일 한 지 판단
- z: 필요 한 변수 값 이 비어 있 는 지 판단
예:
[$PWD = =/root]//PWD 변수 값 이/root 인지 판단 하고, 같 으 면 echo $?틀림없다
[! $PWD = =/root]//PWD 변수 값 이/root 인지 판단 하고, 그렇지 않 으 면 echo $?틀림없다
[- z $PWD]//PWD 변수 값 이 비어 있 는 지, 비어 있 는 지 판단 하려 면 echo $?틀림없다
주: 문자열 은 자모, 숫자, 중국 어 를 가리킨다.
4. 논리 테스트
& & 또는;또는 - a//및 관계, 조건 성립 계속 집행;make & make install (전 명령 이 실 행 된 후 후속 명령 을 계속 수행 합 니 다);find/-name a* - a -type f
| | 또는 - o//또는 관 계 는 모든 조건 을 만족 시 키 고 계속 수행 합 니 다.find/-name a* - o -type f
! 조건
if 문장
단일 분기 문: 조건 을 만족 시 키 면 다음 명령 을 수행 합 니 다.명령 효과 와 [- f/etc/a] & & chmod + x/etc/a
if [조건 판단 문]
then
명령 하 다.
fi
예:
if [ -f/etc/a ]
then
chmod +x/etc/a
fi
2 분기 문: 조건 을 만족 시 키 면 명령 1 을 실행 합 니 다. 조건 을 만족 시 키 지 않 으 면 명령 2 를 실행 합 니 다.
if [조건 판단 문]
then
명령 1
else
명령 2
fi
다 분기 문: 판단 을 만족 시 키 면 명령 을 실행 합 니 다. 1. 만족 하지 않 으 면 계속 판단 합 니 다. 2. 만족 하면 명령 2, xxxx 를 실행 합 니 다. 만족 하지 않 으 면 명령 x 를 실행 합 니 다.
if [조건 판단 문 1]
then
명령 1
elif [조건 판단 문 2]
then
명령 2
elif [조건 판단 문 3]
then
명령 3
else
명령 x
fi
#!/bin/bash
read - p "점 수 를 입력 하 십시오: [1 - 100]"A
if [ $A -le 100 ]
then
if [ $A -eq 100 ]
then
echo " "

elif [ $A -le 89 ] && [ $A -ge 70 ]
then
echo " "

elif [ $A -le 69 ] && [ $A -ge 60 ]
then
echo "  "

else
echo "    !!!"

fi
else
echo "너 안 돼?"
fi
주해: if 는 사용자 의 입력 수치 가 100 이내 인지 여 부 를 먼저 판단 합 니 다. 만약 100 이내 에 계속 판단 하고 없 으 면 "당신 이 할 수 있 습 니까?"로 돌아 갑 니 다.

좋은 웹페이지 즐겨찾기