Shell 조건 판단 문장 과 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 이내 에 계속 판단 하고 없 으 면 "당신 이 할 수 있 습 니까?"로 돌아 갑 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shell 조건 판단 문장 과 if- r: 파일/디 렉 터 리 에 읽 기 권한 이 있 는 지 판단 합 니 다. - w: 파일/디 렉 터 리 에 쓰기 권한 이 있 는 지 판단 합 니 다. [- f/etc/hosts]//etc/hosts 가 파일 인지 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.