제3 장: Shell 구문 용법
1. 한 갈래
if [ 条件 ]
then
结果
fi
2. 두 갈래
if [ 条件1 ]
then
结果1
else
结果2
fi
3. 다 분지
if [ 条件1 ]
then
结果1
elif [ 条件2 ]
then
结果2
elif [ 条件3 ]
then
结果3
elif [ 条件4 ]
then
结果4
elif [ 条件5 ]
then
结果5
else
结果6
fi
4. if 내장
if [ 条件1 ]
then
if [ 条件2 ] #再满足条件1之后再判断条件2
then
结果2
else
结果3
fi
else
结果4
fi
5. if 판단 문 사례
案例: 输入两个数字 是否为整数 使用if方式
#!/bin/bash
read -p "请输入第一个数字:" num1
read -p "请输入第二个数字:" num2
if [ -z $num1 ]
then
echo "您输入的第一个数字为空"&& exit
elif [ -z $num2 ]
then
echo "您输入的第二个数字为空"&& exit
elif [[ "$num1" =~ ^[0-9]+$ && "$num2" =~ ^[0-9]+$ ]]
then
if [ $num1 -lt $num2 ]
then
echo "$num1$num2"
else
echo "$num1=$num2"
fi
else
echo "您输入了错误的值!"&& exit
fi
제2 절: for 순환
1. for 구문 형식
for 变量名 in [取值列表]
do
循环体
done
[root@m01 /scripts]# cat 02for.sh
#!/bin/bash
IFS=' :.' #for循环默认以空格为分隔符,来读取数据,这里指定 :. 为分隔符
for i in $(cat /etc/hosts);do
echo $i
done
2. for 끼 워 넣 기 순환
for 变量名 in [取值列表]
do
for 变量名 in [取值列表]
do
循环体
done
done
제3 절: while 순환
1. 용법 1: while 뒤 연결 조건문
while [ 条件表达式 ]
do
循环体
done
2. 용법 2: while 줄 별로 파일 내용 읽 기
while read line
do
循环体
done
제4 절: 절차 제어 문
1. exit 전체 스 크 립 트 를 종료 하면 2. break 를 계속 실행 하지 않 습 니 다.
제5 절: case 프로 세 스 제어 문
case 变量名4 in
模式匹配1)
命令的集合
;;
模式匹配2)
命令的集合
;;
模式匹配3)
命令的集合
;;
*) *的下一行不需要有;;
echo USAGE[$0 1|2|3]
esac
제6 절: 함수
1. 함수 정의 의 세 가지 방식
test1(){
echo "第一种函数定义方式"
}
function test2(){
echo "第二种函数定义方式"
}
function test3 {
echo "第三种函数定义方式"
}
제7 절: 수조
1. 일반 배열 은 숫자 를 색인 으로 만 사용 할 수 있 습 니 다 (아래 표)
第一种定义方式
数组名[索引]=值
[root@web scripts]# array[0]=shell
[root@web scripts]# array[1]=Linux
[root@web scripts]# array[2]=MySQL
第二种定义方式 一次定义多个值
数组名=(值)
[root@web02 ~]# array=(shell mysql [20]=kvm [50]=test)
declare -a #查看普通数组
1. select 메뉴 정의
#!/bin/bash
main=(
nginx
tomcat
php
)
select i in ${main[*]}
do
echo $i
done
2. 관련 배열 은 숫자 를 사용 할 수도 있 고 문자열 을 색인 으로 사용 할 수도 있다 (아래 표)
declare -A array #关联数组需要先定义再使用
[root@web02 ~]# array[index1]=Shell
[root@web02 ~]# array[index2]=Linux
[root@web02 ~]# array[index3]=MySQL
3. 배열 옮 겨 다 니 기
查看数组的索引,值,和索引个数
1. echo ${array[*]} #遍历数组的值
2. echo ${!array[*]} #遍历索引
3. echo ${#array[*]} #查看索引个数
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.