Bash 스 크 립 트: 순환 구조의 for 순환
for 순환
기본 서식
for in
do
done
그리고
의 문법 은 모두 한 줄 에 쓰 는 것 이다.for in ; do ;done
수치 목록 은 대체로 매 거 와 교체 두 종류 로 나 눌 수 있다.
매 거
일반 매 거
값 목록 이 빈 칸 이나 리 턴 문자 로 분 단 된 문자열 입 니 다.
for i in 'apple' 'meat' 'sleep' 'woman'
do
echo I like $i
done
터미널 에서 이 스 크 립 트 for. sh 를 실행 합 니 다.실행 결과
jelly@X:~$ bash for.sh
I like apple
I like meat
I like sleep
I like woman
배합 명령 교체
명령 교체 즉 ` 와 $() 두 가지 조작 부호 의 사용.명령 교체 협조 for 순환 은 흔 합 니 다.예 를 들 어 제 시스템 의 사용 자 는 젤리 라 고 하 는데 지금 은 guodong 이라는 사용 자 를 새로 만 들 었 습 니 다.하지만 guodong 사용 자 는 많은 그룹 권한 이 부족 합 니 다.저 는 guodong 에 게 젤리 가 있 는 모든 팀 을 갖 게 하고 싶 습 니 다.그럼 나 는 이렇게 할 수 있다.
for var in `groups jelly`
do
echo $var #
gpasswd -a guodong $var
done
루트 로 이 스 크 립 트 를 실행 하 십시오. 사용자 guodong 에 그룹 을 대량으로 추가 하 는 작업 이 완료 되 었 습 니 다.
번복
괄호 {}
숫자 교체, 예 를 들 어 {1. 100} 알파벳 교체, 예 를 들 어 {a. z}, {A. Z}, {Z. A} ASCII 문자 교체, 예 를 들 어 {a. A} 1 더하기 100 의 합 을 계산 해 보 겠 습 니 다.
#!/bin/bash
ans=0
for i in {1..100}
do
let ans+=$i
done
echo $ans
결 과 는 5050 입 니 다. 괄호 의 교체 로 지정 한 증분 도 지정 할 수 있 습 니 다. 형식 은 다음 과 같 습 니 다.
{ .. .. }
자, 1 부터 100 이내 의 모든 홀수 의 합 을 계산 해 봅 시다.
for i in {1..100..2}
do
echo $i
done
seq
명령 에 맞 춰 교체 해 야 합 니 다.seq 명령 의 형식 은:
seq [ ]
증 량 의 위 치 는 중간 에 있 습 니 다. 이것 은 앞에서 언급 한 괄호 와 다 릅 니 다.예 를 들 어 ('Shell Scripting Expert Recipes for Linux, Bash, and More' P114 에서 각색) 스 크 립 트 로 랜 내 호스트 를 핑 합 니 다.
#!/bin/bash
PREFIX=192.168.1.
for i in `seq 100 110`
do
echo -n "${PREFIX}$i "
ping -c5 ${PREFIX}${i} >/dev/null 2>&1
if [ "$?" -eq 0 ];then
echo "OK"
else
echo "Failed"
fi
done
물론 for 순환 도 for i in {100.. 110} 터미널 이 실 행 된 결 과 를 작성 할 수 있 습 니 다.
jelly@X:~$ bash ping.sh
192.168.1.100 Failed
192.168.1.101 Failed
192.168.1.102 OK
192.168.1.103 OK
192.168.1.104 OK
192.168.1.105 OK
192.168.1.106 Failed
192.168.1.107 Failed
192.168.1.108 Failed
192.168.1.109 Failed
192.168.1.110 Failed
C 스타일 for 순환
Bash 는 C 언어 스타일 의 for 순환 도 지원 합 니 다. 이것 은 이해 하기 쉽 습 니 다. 예 를 들 어 1 부터 100 까지 의 합 을 계산 해 보 겠 습 니 다.
#!/bin/bash
ans=0
for ((i=1;i<=100;i++))
do
let ans+=$i
done
echo $ans
조심해!!!이곳 의 for 순환 은 두 겹 의 괄호 가 있어 야 한다.
이 시리즈 (Bash 스 크 립 트 돌리 기) 에 더 많은 글 이 있 습 니 다. 방문 하 십시오:http://blog.csdn.net/column/details/wanbash.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ZSH에서 물고기까지ZSH는 수년 동안 내 기본 셸이었습니다. 이제 몇 달 동안 사용하면서 ZSH 구성에 대해 몇 가지 사항을 발견했습니다. 우리는 을 제공하는 시스템과 더 빨리 상호 작용하는 경향이 있습니다. 내.zshrc 구성에는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.