셸 학습 if 문장
1. 조건 부 테스트 표현 식: [ expression ] 괄호 양 끝 에 빈 칸 이 있어 야 합 니 다. [[ expression ]] 괄호 양 끝 에 빈 칸 이 있어 야 합 니 다. test expression 조합 테스트 조건: -a: and -o: or !: ... 이 아니다
2. 정수 비교: -eq 두 정수 가 같 는 지 시험 하 다. -ne 두 정수 가 같 지 않 은 지 시험 하 다. -gt 하나의 수가 다른 수 보다 큰 지 시험 하 다. -lt 하나의 수가 다른 수 보다 작 는 지 시험 하 다. -ge 보다 크 거나 같다 -le 명령 간 의 논리 적 관계 보다 작 거나 같 음 논리 와: & & 첫 번 째 조건 은 가짜 입 니 다. 두 번 째 조건 은 판단 할 필요 가 없다. 가장 전체적인 결 과 는 이미 있다. 첫 번 째 조건 은 진실 이 고, 두 번 째 조건 은 반드시 판단 해 야 한다. 논리 또는: | 3. 문자열 비교 문자열 비교: == ... 과 같다 양쪽 에 빈 칸 이 있어 야 한다. != 기다 리 지 않다 > ... 보다 크다 파일 테스트
-z string 지정 한 문자 가 비어 있 는 지, 비어 있 는 지, 비어 있 는 것 이 아 닌 지 시험 합 니 다. -n string 지정 한 문자열 이 비어 있 지 않 은 지, 비어 있 는 지 시험 합 니 다. 헛 된 것 이 아니 라 진짜 이다. -e FILE 파일 존재 여부 테스트 -f file 파일 이 일반 파일 인지 테스트 합 니 다. -d file 지정 한 경로 가 디 렉 터 리 인지 테스트 합 니 다. -r file 현재 사용자 에 게 파일 을 읽 을 수 있 는 지 테스트 합 니 다. -w file 현재 사용자 에 게 파일 을 쓸 수 있 는 지 테스트 합 니 다. -x file 테스트 파일 은 현재 사용자 에 게 모두 실행 가능 합 니 다. -z 비어 있 는 지 여부 비 워 두 면 진짜 다. -a 비 어 있 지 않 은 지 여부
if 문법
if 판단 조건 진짜 다른 건 다 가짜 야.
단일 분기 if 구문 if 판단 조건; thenstatement 1statement 2..... fi
두 갈래 의 if 문장: if 판단 조건; thenstatement 1statement 2... elsestatement 3statement4fi
Note: if 문 구 는 비어 있 는 지 여 부 를 판단 합 니 다 [ "$name” = "" ]같다 ! "$name" ][ -z "$name" ]
참고: if 문 구 를 사용 할 때 수치 류 를 진행 하 는 경우 판단 합 니 다. ,사용 을 권장 하 다 let ((()) 판단 문자열 등에 test [ ] or [[ ]] 판단 (() 에서 변 수 는 $를 사용 하지 않 고 참조 할 수 있 습 니 다.
example: 숫자 범 위 를 설명 할 때 if 를 사용 할 수 있 습 니 다. 카 이 프 를 사용 할 수 있 습 니 다. [ $x -gt 90 -o $x -lt 100 ]case $x in100)9[0-9])
if [ "X$name" != "x" ]이 문 구 는 $name 이 비어 있 으 면 X = X 가 다음 결 과 를 실행 합 니 다.
스 크 립 트 를 쓸 때 리 턴 명령 을 사용 해 야 할 때 가 많 습 니 다. $? 이전 명령 이 실 행 될 경우 리 턴 값 은 0 입 니 다. 그렇지 않 으 면 1 ~ 255 사이 의 모든 것 입 니 다. 진짜 가짜
조건 부 테스트 작성 방법:
1、 명령 을 실행 한 결과 if grep -q "rm" fs.sh;then
2. 명령 실행 결과 의 반대 값 을 되 돌려 줍 니 다. if !grep -q "rm" fs.sh;then
3. 복합 명령 사용 (산식) if ((a>b));then
4, bash 키워드 사용 [[판단 식] if [[ str > xyz ]];then
5. 내 장 된 명령 사용: test 판단 식 if test "str" \> "xyz";then
6. 내 장 된 명령 사용: [판단 식] 유사 test if [ "str" \> "xyz" ];then
7 、 사용 - a -논리 적 조합 [ -r filename -a -x filename ]
8. 명령 & & 명령 if grep -q "rm" fn.sh && [ $a -lt 100 ];then
9. 명령 | | | 명령 if grep -q "rm" fn.sh || [ $a -lt 100 ];다음 예제 스 크 립 트 (
스 크 립 트 를 써 서 테스트 성적 을 입력 하고 아래 의 기준 에 따라 그의 평 점 을 출력 합 니 다.
성적 (A - F).
A: 90–100
B: 80–89
C: 70–79
D: 60–69
F: <60
)
#/bin/bash
#Verson:0.1
#Auther:lovelace
#Pragram:This pragram is calculation your grade
#import an argument
read -p "Please input your grade:" x
declare -i x
#jugemet $x value is none or not
if [ "$x" == "" ];then
echo "You don't input your grade...."
exit 5
fi
#jugement the gread level
if [[ "$x" -ge "90" && "$x" -le "100" ]];then
echo "Congratulation,Your grade is A."
elif [[ "$x" -ge "80" && "$x" -le "89" ]];then
echo "Good,Your grade is B."
elif [[ "$x" -ge "70" && "$x" -le "79" ]];then
echo "Ok.Your grade is C."
elif [[ "$x" -ge "60" && "$x" -le "69" ]];then
echo "Yeah,Your grade is D."
elif [[ "$x" -lt "60" ]];then
echo "Right,Your grade is F."
else
echo "Unknow argument...."
fi
실행 결과:
[root@lovelace if]# ./grade.sh
Please input your grade:
You don't input your grade....
[root@lovelace if]# ./grade.sh
Please input your grade:53
Right,Your grade is F.
[root@lovelace if]# ./grade.sh
Please input your grade:88
Good,Your grade is B.
결론: 조건 판단 은 셸 구문 에 자주 사용 되 며, 숙련 되 어야 하 며, 이 를 바탕 으로 좋 은 스 크 립 트 작성 능력 을 익 힐 수 있 습 니 다. 여러분 들 이 매일 큰 발전 을 이 룰 수 있 기 를 바 랍 니 다.
다음으로 전송:https://blog.51cto.com/lovelace/1211353
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.