my_bash语法大全

my_bash语法大全

if嵌套语句格式

if [ 条件 ];then
if [ 条件 ];then
执行这里的代码
fi
fi
if [ 条件 ];then
if [ 条件 ];then
执行这里的代码
fi
else
if [ 条件 ];then
执行这里的代码
fi
fi

if 多分支语句格式(注意:多个分支只会执行一个,执行首先为真的分支)

if [ 条件1 ];then
条件1为真执行这里的代码
elif [ 条件2 ];then
条件2为真执行这里的代码
elif [ 条件3 ];then
条件3为真执行这里的代码
.
.
.
 
elif [ 条件n ];then
条件n为真执行这里的代码
else
如果所有的条件都不满足时,执行这里的代码
fi
 
注意:多个分支只会执行一个,执行首先为真的分支

变量列表

for 变量 in 列表; do
循环体
done
 
进入条件:只要列表中有元素,即可进入循环
退出循环:列表中的元素遍历完成

控制变量

for((i=1;i<10;i++));do
进入循环代码
done

while循环

while CONDITION ; do
循环体
循环控制变量的修正表达式
done
进入条件:CONDITION测试为“真”
退出条件:CONDITION测试为“假”

until循环

until CONDITION ; do
循环体
循环控制变量
done
进入条件:CONDITION测试为“假”
退出条件:CONDITION测试为“真”

#

continue:跳出本次循环,进入下一轮循环
 
break:跳出整个循环
 
sleep:程序睡眠一个时间段
 
死循环:条件为true,永远为死循环

continue语句格式

while [ 条件1 ]; do
满足条件执行这里的代码
if [ 条件2 ]; then
# 跳出当前循环进入下一轮循环
continue
fi
满足条件执行这里的代码
done

break :直接跳出整个循环

while [条件1]; do
执行这里的代码
if [条件2]; then
break
fi
执行这里的代码
done

死循环:如何创建死循环

while true;do
循环体
done
退出方式:某个测试条件满足的时候,让循环体执行break命令就是

while循环的特殊用法(遍历文件的行)

while read VARIABLE;do
循环体
done < /PATH/TO/FILE
 
意思是:依次读取/PATH/TO/FILE文件中的每一行,且将其赋值给VARIABLE变量

for循环的特殊用法

for((控制变量初始化;条件判断表达式;控制变量修正语句));do
循环体
done
注意:控制变量初始化:仅仅在循环代码开始运行时执行一次
控制变量的修正语句:每轮循环结束会先进行控制变量修正运算,而后再做条件判断

case语句的语法格式

case $变量 in
PAT1)
分支1
;;
PAT2)
分支2
;;
PAT3)
分支3
;;
....
....
....
PATn)
分支n
;;
esac

函数封装

语法一:
function f_name{
函数体
}
 
语法二:
f_name(){
函数体
}

数组

####声明一个数组
declare -a NAME:声明索引数组(索引是数值)
declare -A NAME:声明关联数组(索引是字符串)
#####数组中元素的赋值方式
1)一次只赋值一个元素
arr[0]=hello
2)一次赋值全部元素
arr=(“hello” “nihao” “who” )
3)只赋值特定元素
arr=([0]=”nihao” [3]=”hello”)
注意:bash支持稀疏格式的数组
4)read -a arr
#####引用数组中元素的方式:通过索引取值
${arr[1]}
####数组中元素的索引是从0开始的,${arr[1]}表示取的是第二个元素的值
注意:引用时,只给数组名,表示引用下标为0的元素。例如:$arr == ${arr[0]}
###获取数组的长度(数组中元素的个数)
${#arr[*]}
${#arr[@]}
###获取数组中的全部元素
${arr[*]}
${arr[@]}
蓦然回首,那人却在,灯火阑珊处。
原文地址:https://www.cnblogs.com/linux-186/p/11115456.html