shell 语法08-shell主要语法结构

if语法结构

单分支结构
if <条件表达式>
    then
      指令
if
if <条件表达式>;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
    指令 ......
done
for ((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值。

转载于:https://www.cnblogs.com/liangjingfu/p/9468531.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值