Linux 네트워크 서비스 와 셸 스 크 립 트 - 셸 프로 그래 밍 의 case 문장 과 순환 문장
1. case 분기 문 1, case 문 구 를 사용 하 는 구조 (1) 적용 상황: 특정한 변 수 는 여러 가지 수치 가 존재 하 므 로 각 수치 에 대해 서로 다른 명령 (2) 형식 을 실행 해 야 합 니 다.
case in
1)
;;
2)
;;
*)
esac
(3) ① case 꼬리 줄 은 단어 in 이 어야 하 며, 각 모드 는 오른쪽 괄호 로 끝내 야 합 니 다 ② 2 점 번호;명령 시퀀스 가 끝 난 ③ 모드 문자열 에서 괄호 로 연속 적 인 범 위 를 표시 할 수 있 습 니 다. 예 를 들 어 [0 - 9];또한 세로 줄 | 표시 또는 A | B ④ 마지막 *) 로 기본 모드 를 표시 할 수 있 습 니 다. 그 중에서 * 는 마스크 에 해당 하고 기본 모드 는 필요 하지 않 습 니 다.종료 2. for 순환 문 구 를 사용 합 니 다 1. 적용 장면: for 순환 은 목록 대상 에 불규칙 적 이 고 목록 출처 가 고정된 장소 2. for 문장의 구조 에 적 용 됩 니 다.
for in
do
done
3. while 순환 문 구 를 사용 하여 1. 적용 장면: 순환 횟수 를 제어 하고 조작 대상 은 숫자 순서에 따라 번 호 를 매 기 며 특정한 조건 에 따라 중복 작업 을 수행 하 는 상황 2. while 문장의 구조
while
do
done
while 는 두 가지 특수 조건 테스트 작업 이 있 습 니 다. true 와 false, 전 자 는 무한 순환, 후 자 는 순환 4, until 순환 1, 형식 은 while 와 같 지만 until 의 판단 조건 은 while 와 반대 되 는 2, while true 는 until false 3 에 해당 합 니 다. 순환 명령 을 종료 합 니 다. break (순환 종료), contine (뒤의 명령 을 실행 하지 않 고 다음 순환 으로 직접 이동 합 니 다), exit 0\1(0 은 정상 퇴장, 1 은 이상 퇴장)
5. Shell 함수 응용 1. 함수: 반복 적 으로 호출 된 명령 서열 을 일정한 형식 으로 작성 하여 2. 형식 을 중복 사용 하도록 합 니 다.
[function] (){
[return x]
}
(1) [return x] 는 함수 반환 값 입 니 다. 함 수 는 반환 값 (2) 호출 함수 없 이 함수 이름 을 직접 입력 하면 됩 니 다. 6. Shell 스 크 립 트 디 버 깅 1. 함수 에 echo 명령 을 추가 하여 실행 내용 에 오류 가 있 는 지 확인 할 수 있 습 니 다.- v: 스 크 립 트 를 실행 할 때 먼저 스 크 립 트 내용 을 화면 에 출력 합 니 다. 잘못 되면 오류 알림 (3) - x: 실 행 된 스 크 립 트 내용 을 화면 에 동기 화 합 니 다. 이것 은 디 버 깅 에 유용 한 매개 변수 7, 연습 문제 1, 숫자 맞 추기 게임 입 니 다. 사용 자 는 1 - 100 의 정 수 를 입력 하여 맞 힐 때 까지 입 니 다.
#!/bin/bash
#game
num=`expr $RANDOM % 100`
while true
do
read -p " 1-100 :" n
if [ $n -eq $num ]
then
echo " !"
break
elif [ $n -lt $num ]
then
echo " "
else
echo " "
fi
done
2, 99 곱셈 표
#!/bin/bash
#9*9
i=1
x=0
a=""
while [ $i -le 9 ]
do
j=1
a=""
while [ $j -le $i ]
do
x=`expr $i \* $j`
b="$j*$i=$x"
a="$a $b"
let j++
done
echo "$a"
let i++
done
3. user. txt 파일 의 명단 을 사용 하여 계 정 을 자동 으로 만 들 고 초기 암 호 를 설정 합 니 다.
#!/bin/bash
#useradd
users=$(cat ./user.txt)
for name in $users
do
grep $name /etc/passwd &> /dev/null
if [ $? -eq 0 ]
then
echo "$name ! !"
continue
fi
useradd $name
echo "111111" | passwd --stdin $name
done
4. 사용자 계 정과 비밀 번 호 를 반복 적 으로 테스트 하고 최대 3 번 테스트 하 며 정확 한 알림 을 입력 하여 로그 인 성공 을 알 립 니 다. 그렇지 않 으 면 로그 인 실패 (tom, 123456) 를 알 립 니 다.
#!/bin/bash
#user login
i=0
while true
do
read -p " :" name
if [ $name = "tom" ]
then
read -p " :" pass
if [ $pass = "123456" ]
then
echo " !"
break
else
echo " !"
fi
else
echo " !"
fi
let i++
if [ $i -eq 3 ]
then
echo " 3 , !"
break
fi
done
5. 자신 을 제외 한 다른 호스트 닫 기
#!/bin/bash
#killpts
if [ $# -eq 0 ]
then
echo " IP"
else
i=$1
pts=`who | grep -v $1 | awk '{print $2}'`
for p in $pts
do
pkill -kill -t $p
done
fi
6. 세 개의 메시지 알파벳 조합 문 자 를 텍스트 파일 로 반복 적 으로 만 듭 니 다.
#!/bin/bash
#creat txt
i=1
c=""
get () {
case $1 in
1)
c="a"
;;
2)
c="b"
;;
3)
c="c"
;;
4)
c="d"
;;
5)
c="e"
;;
6)
c="f"
;;
7)
c="g"
;;
8)
c="h"
;;
9)
c="i"
;;
10)
c="j"
;;
11)
c="k"
;;
12)
c="l"
;;
13)
c="m"
;;
14)
c="n"
;;
15)
c="o"
;;
16)
c="p"
;;
17)
c="q"
;;
18)
c="r"
;;
19)
c="s"
;;
20)
c="t"
;;
21)
c="u"
;;
22)
c="v"
;;
23)
c="w"
;;
24)
c="x"
;;
25)
c="y"
;;
26)
c="z"
;;
*)
echo $i
esac
}
i=1
a=""
ic=""
jc=""
xc=""
while [ $i -le 26 ]
do
j=1
get $i
a=$c
while [ $j -le 26 ]
do
x=1
get $j
jc=$a$c
while [ $x -le 26 ]
do
get $x
xc=$jc$c
echo $xc >> aaa-zzz
let x++
done
# echo $xc
let j++
done
# echo $a
let i++
done
7. 사용자 입력 데이터 형식 판단 (if 와 case 모두 한 번 쓰기)
#!/bin/bash
#chiose
read -p " :" a
case $a in
[0-9])
echo " "
;;
[a-z]|[A-Z])
echo " "
;;
*)
echo " "
esac
#!/bin/bash
#chiose2
read -p " :" a
if [[ $a = [0-9] ]]
then
echo " "
elif [[ $a = [a-z] ]] || [[ $a = [A-Z] ]]
then
echo " "
else
echo " "
fi
8. 1 + 2 +... 100 의 값 을 계산 합 니 다.
#!/bin/bash
#1-100
i=0
a=0
while [ $i -le 100 ]
do
a=`expr $a + $i`
let i++
done
echo $a
9. 사용자 와 세 번 째 문제 10 을 대량으로 추가 하고 사용 자 를 대량으로 삭제 합 니 다.
#!/bin/bash
#useradd
users=$(cat ./user.txt)
for name in $users
do
# uid=`grep aaa /etc/passwd | awk -F: '{print $3}'`
grep $name /etc/passwd &> /dev/null
if [ $? -eq 0 ] # && [ $uid -gt 500 ]
then
userdel -r $name
echo "$name "
else
echo "$name "
fi
done
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nginx 의 설치, 업그레이드 및 간단 한 사용Nginx 설치 – prefix = / usr / local / nginx 지정 설치 경로 – user = nginx 지정 사용자 – group = nginx 지정 기본 그룹 – with - httpssl_modul...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.