Shell 스 크 립 트 if 조건문, for 순환, case 문
#!/bin/sh
echo
"please yes or no"
read
input
#case语句的基本用法,记住每一个匹配后边都有双分号,代表本模式的结束和下一个#模式的开始,在进行通配符匹配的时候不要加双引号
case
"$input"
in
yes
)
echo
"yes"
;;
y* )
echo
"y*"
;;
y )
echo
"y"
;;
no )
echo
"no"
;;
n )
echo
"n"
;;
* )
echo
"default"
;;
esac
#合并匹配模式,case的匹配只能匹配一条,想要做到匹配多个结果使用如下的方式
case
"$input"
in
y* | Y* )
echo
"yes"
;;
n* | N* )
echo
"no"
;;
* )
echo
"default"
;;
esac
#一种更屌的匹配
case
"$input"
in
[yY][eE][sS] | [yY] )
echo
"yes"
;;
[nN] | [nN][oO] )
echo
"no"
;;
* )
echo
"default"
echo
"end"
esac
exit
0
(2) 셸 프로 그래 밍 에 사용 되 는 순환 문 구 는 for 순환, while 순환, until 순환, for 뒤쪽 과 하나의 변 수 를 포함 하고 그 다음 에 집합 입 니 다. 집합 중의 물건 을 이 변수 에 부여 합 니 다. 순환 할 때마다 while 순환 과 if 는 같은 조건 으로 판단 합 니 다. 충분 한 조건 으로 문 구 를 실행 합 니 다. until 과 while 는 반대로 조건 집행 문 구 를 만족 시 키 지 않 습 니 다.
#!/bin/sh\# for 순환 의 가장 기본 적 인 용법 for var in "hello", "lily", "welcome"doecho - n "$var"done
echo
$(ls *. sh) 의 var 에 대한\# 마스크 확장 doecho "$var"
done
\# while 순환, 뒤쪽 은 if 와 같은 조건 echo "please input secret"read secretwhile ["$secret"! = "lily"] doecho "try again"read secretdone
\# until 순환 은 while 와 반대로 조건 이 가짜 여야 echo "please input text"read textuntil ["$text"= "xiao ta"] doecho "try again"read textdone 을 실행 합 니 다.
exit 0
(3) 조건문 if 의 용법
#!/bin/shecho "please input text 1"read text 1 echo "please input text 2"read text 2\# 판단 문자열 등 또는 같 지 않 음 if test $text 1 = $text2thenecho "text 1 equals text 2"elseecho "text 1 not equals text 2"
fi
\# 문자열 이 비어 있 는 지 판단 합 니 다. 여기 판단 은 $text 1 두 변 에 더 블 따옴표 if [- z "$text 1"] thenecho "text 1 is null"fiif [n "$text 1"] 를 추가 하 는 것 을 기억 합 니 다.thenecho "text1 is not null"
fi
\# 산술 비교 text 1 과 text 2 의 내용 은 숫자 if ["$text 1"- eq "$text 2"] 일 수 있 습 니 다.thenecho "equal"elif [ "$text1"-gt "$text2"];thenecho "great"elif [ "$text1"-le "$text2"];thenecho "little and equals"
fi
echo "input a file or not file"read file\# 파일 인지 디 렉 터 리 if [- d $file] 인지 판단 합 니 다.thenecho "$file is a directory"elif [ -f $file ];thenecho "$file is a file"
fi
\# 파일 의 크기 가 비어 있 는 지 판단 하기 if [- s $file];then\# echo - n 은 줄 바 꿈 자 를 없 애기 위해 echo - n "$file 'size is not null"
fi
\# 파일 의 읽 기와 쓰기 권한 을 판단 하 는 if [- f "$file"];then if [ -r "$file"];then echo "read" fi if [ -w "$file"];then echo "write" fi if [ -x "$file"];then echo "exe" fifi
exit 0
[echo 뒤의 문자열 은 작은 따옴표 로 시작 하 는 것 이 좋 습 니 다. 앞으로 모든 문자열 은 작은 따옴표 로 시작 하 는 것 이 좋 습 니 다. 찾기 어 려 운 bug 를 피 할 수 있 습 니 다.]
서로 다른 따옴표 가 변수 에 대한 역할:
따옴표 "": 변 수 를 해석 할 수 있 습 니 다. $기 호 는 변수 접두사 입 니 다.
작은 따옴표 ': 변 수 를 해석 하지 않 습 니 다. $는 일반 문자 입 니 다.
반 따옴표 `: 명령 이 실 행 된 결 과 를 변수 에 출력 합 니 다.
원본 링크:http://www.jb51.net/article/55030.htm
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.