if语法结构
单分支结构
if <条件表达式> then 指令 ifif <条件表达式>;then 指令 if双分支结构
if <条件表达式> then 指令 else 指令 if多分支结构
if <条件表达式> then 指令 elif <条件表达式> then 指令 elif <条件表达式> then 指令 else 指令 if
if条件语句多种条件表达式语法
test条件表达式
if test 表达式 then 指令 fi[]条件表达式
if [ 字符串或算术表达式 ] then 指令 if[[]]条件表达式
if [[ 字符串表达式 ]] then 指令 if(())条件表达式
if ((算术表达式)) then 指令 if命令表达式
if 命令 then 指令 if
shell函数语法结构
function 函数名() { 指令 ...... return n }function 函数名 { 指令 ...... return n }函数名() { 指令 ...... return n }
shell的case语法结构
case "变量" in 值1) 指令1 ...... ;; 值2) 指令2 ...... ;; *) 指令3 ...... esac
shell的while语法结构
# 当条件成立是,进入循环执行指令 while <条件表达式> do 指令 done
shell的until语法结构
# 当条件不成立是,进入循环执行指令 until <条件表达式> do 指令 done
shell的for语法结构
for 变量名 in 变量取值列表 do 指令 ...... donefor ((exp1; exp2; exp3)) do 指令 ...... done
shell的select语法结构
select 变量名 [ in 菜单取值列表 ] do 指令 ...... done
shell的数组语法结构
1、用小括号将变量值括起来赋值给数组变量,每个变量值之间要用空格进行分隔
array=(value1 value2 value3 ......)2、用小括号将变量值括起来,同时采用键值对的形式赋值。
array=([1]=one [2]=two [3]=three)3、通过分别定义数据变量的方法来定义
array[0]=a;array[1]=b;array[2]=c;4、动态地定义数组变量,并使用命令的输出结果作为数组的内容
array=($(命令)) array=(`命令`)打印命令
打印指定元素
echo ${array[i]}打印所有元素
echo ${array[@]} echo ${array[*]}打印数组长度
echo ${#array[@]} echo ${#array[*]}
shell脚本运行的相关用法
用法 说明 sh test.sh & 把脚本test.sh放在后台执行 control + c 停止执行当前脚本或任务 control + z 暂停执行当前脚本或任务 bg 把当前脚本或任务放在后台执行 fg 把当前脚本或任务放在前台执行 jobs 查看当前执行的脚本或任务 kill 关闭执行的脚本任务 break n 如果省略n,则表示跳出整个循环,n表示跳出循环的层数 continue n 如果省略n,则表示跳过本次循环,忽略本次循环的剩余代码,进入循环的下一次循环。N表示退到第n层继续循环。 exit n 退出当前shell程序,n为上一次程序执行的状态返回值。在下一个shell里可通过$? 接收n值。n值可以省略。 return n 用于在函数里作为函数的返回值,以判断函数执行是否正确。可通过$? 接收n值。