Linux 진급: SHELL 스 크 립 트 프로 그래 밍 진급
공정 제어
조건 선택 if 문장
:if
if ;then
fi
:
if ;then
else
fi
if 구문
if 1; then
1
elif 2; then
2
elif 3; then
3
else
fi
, “ ” , , if
if 예제
if ping -c1 -W2 station1 &> /dev/null; then
echo 'Station1 is UP'
elif grep "station1" ~/maintenance.txt &> /dev/null; then
echo 'Station1 is undergoing maintenance‘
else
echo 'Station1 is unexpectedly DOWN!'
exit 1
fi
조건 판단: case 문장
case in
PAT1)
1
;;
PAT2)
2
;;
...
*)
;;
esac
case glob :
*:
?:
[]:
a|b: a b
순환 하 다.
for, while, until
for 순환
for in ;do
done
for i[i ] in {1..10};【in 】do userdel -r user$i; done 【do done 】
:
“ ”; ;
,
:[root@centos18:11:44bin]#sum=0; for num in 1 23 4 6 4;do sum=$[sum+num]; done; echo sum=$sum
sum=38
[root@centos18:12:58bin]#for num in 1 23 4 6 4;do echo "num=$num";done
num=1
num=23
num=4
num=6
num=4
[root@centos18:13:24bin]#sum=0; for num in {1..100};do sum=$[sum+num]; done; echo sum=$sum
sum=5050
[root@centos18:16:24bin]#sum=0; for num in `seq 10`;do sum=$[sum+num]; done; echo sum=$sum
sum=55
[root@centos18:16:47bin]#sum=0; for num in {1..100..2};do sum=$[sum+num]; done; echo sum=$sum
sum=2500
: 1 100
[root@centos18:27:29bin]#sum=0; for i in {1..100};do sum=$[sum+i];done;echo sum=$sum
sum=5050
[root@centos18:27:44bin]#sum=0; for i in `seq 1 2 100`;do sum=$[sum+i];done;echo sum=$sum
sum=2500
for 순환
:
(1)
(2) :
(a) {start..end}
(b) $(seq [start [step]] end)
(3)
$(COMMAND)
(4) glob, :*.sh
(5) ;
$@, $*
while 순환
while CONDITION; do
done
CONDITION: ; , ;
; “true”, ;
“false”
:CONDTION ;
:CONDITION true
:CONDITION false
until... 까지 순환
until CONDITION; do
done
: CONDITION false
: CONDITION true
순환 제어 문 contine
continue [N]: N , ;
1
while CONDTIITON1; do
CMD1
...
if CONDITION2; then
continue
fi
CMDn
...
done
순환 제어 문 break
break [N]: N , 1
while CONDTIITON1; do
CMD1
...
if CONDITION2; then
break
fi
CMDn
...
done
순환 제어 시 프 트 명령
shift [n]
list , 。
list , 。while
, shift
./doit.sh a b c d e f g h
./shfit.sh a b c d e f g h
예시: doit. sh
#!/bin/bash
# Name: doit.sh
# Purpose: shift through command line arguments
# Usage: doit.sh [args]
while [ $# -gt 0 ] # or (( $# > 0 ))
do
echo $*
shift
done
:shift.sh
#!/bin/bash
#step through all the positional parameters
until [ -z "$1" ]
do
echo "$1"
shift
done
echo
무한 순환 생 성
while true; do
done
until false; do
Done
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
sort 명령: 파일 정렬sort 명령 은 File 매개 변수 가 지정 한 파일 의 줄 을 정렬 하고 결 과 를 표준 출력 에 기록 합 니 다.File 매개 변수 가 여러 파일 을 지정 하면 sort 명령 은 이 파일 들 을 연결 하고 파일...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.