bash 셸 (5): if, else, while 크기 비교
1、if :
if ;then
1
2
……
else
1
2
……
fi
2、if :
if ;then
1
2
……
elif
1
2
……
elif
1
2
……
else
1
2
……
fi
3.while
while
do
done
4.until
until
do
done
주: 1. elif 도 여러 개 있 을 수 있 습 니 다.
자주 사용 하 는 판단 문:
자주 사용 하 는 비교 문:
조건 부 선택 을 포함 하 는 셸 스 크 립 트 는 변 수 를 포함 하지 않 는 작업 에 대해 간단 한 셸 스 크 립 트 를 수행 할 수 있 습 니 다.
그러나 일부 의사 결정 임 무 를 수행 할 때 는 if/then 의 조건 판단 이 필요 하 다.
셸 스 크 립 트 프로 그래 밍 은 비교 연산, 파일 존재 여부 판단 등 을 포함 하여 이러한 연산 을 지원 합 니 다.기본 적 인 if 조건 명령 옵션 은: - eq - 두 매개 변수 가 같 는 지 비교 합 니 다 (예 를 들 어 if [2 – eq 5]).
거의 모든 판단 은 이런 비교 연산 자로 이 루어 질 수 있다.스 크 립 트 에서 자주 사용 하 는 - f 명령 옵션 은 파일 을 실행 하기 전에 존재 하 는 지 확인 합 니 다.
예제 코드 1: for 순환
#!/bin/bash
for k in $( seq 1 10 )
do
mkdir /home/kuangl/aaa${k}
cd /home/kuangl/aaa${k}
for l in $( seq 1 10 )
do
mkdir bbb${l}
cd /home/kuangl/aaa${k}
done
cd ..
done
예제 코드 2: while 순환
#!/bin/bash
while read kuangl
do
echo ${kuangl}
done < /home/kuangl/scripts/testfile
예제 코드 3: until 순환
#!/bin/bash
declare -i i=10
declare -i sum=0
until ((i>10))
do
let sum+=i
let ++i
done
echo $sum
예제 코드 4:
#!/bin/sh
YACCESS=`date -d yesterday +%Y%m%d`
FILE="access_$YACCESS.log.tgz"
cd /data/nginx/logs
if [ -f "$FILE" ];then
echo "OK"
else
echo "error $FILE" > error.log
mail -s "$FILE backup fail" [email protected] <error.log
fi
예제 코드 5:
#!/bin/sh
#
DIR=/data/img_cache
DAY=`date +"%Y-%m-%d %H:%M"`
NUM=`ls $DIR |wc -l`
DIRNAME=`ls $DIR| grep leveldb | head -n 1 | awk '{print $NF}'`
if [[ $NUM -gt 3 ]];then
rm -rf $DIR/$DIRNAME
echo "---------$DAY----($DIR)-----------------------" >> /tmp/img_cache.log
echo "$DIRNAME Deleted successful" >> /tmp/img_cache.log
fi
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.