linux 脚本 选择,shell脚本之选择结构&常用语法(一)

在shell脚本中的一些常用语法

echo在脚本中使用:-ndo not output the trailing newline

-eenable interpretation of backslash escapes

-Eenable interpretation of backslash escapes使用-e时的常见转义符:\t 、\e、\b、\a、\n    详细用法请查看帮助文档

read的使用:

#  read -p "输出内容"  变量

EOF的用法:COMMAND << EOF  内容 EOF

变量:

1.环境变量:$USER $UID $HOME

2局部变量:定义在函数体内的变量只能在函数体内使用,

3全局变量:一般在开头使用定义:declare -i  变量名=值

命令执行的状态返回值:使用#exit  [状态返回值]   -->可也退出当前脚本或进程120e3133d98fec5eba9e073c45afc69b.png

bash之选择结构

选择程序结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。(关于shell脚本中选择结构的详细使用方法请查看帮助文档)

判断条件的类型:

1.字符串比较**其中需要对大于或小于使用反斜杠转义;大小根据ASCII值行进比较***27d24965136e7dd06778c90f6726385b.png

2.数值比较

f777d9ad25ee5c674be7335f195d6d5d.png

3.文件比较

92c6ccbe70913db44d576a2c17cdb230.png

4.符合条件检查:命令与中括号之间有空格,中括号与连接符之间也有空格

[COMMAND]&&   [COMMAND]

[COMMAND] ||  [COMMAND]

对字符串进行的操作

字符串切片: ${string:offset:length}

取尾部的指定个数的字符:${string: -length}

取子串:基于模式

${variable#*word}:删除从左侧到第一个word的所有字符

${variable##*word}:删除从左侧到最后的一个wod字符

例如:file='/var/log/messages'

${file#*/}: 返回的结果是var/log/messages

${file##*/}: 返回messages

${variable%word*}: 删除从右侧到最后一个word的所有字符

${variable%%world*}:删除从右侧到第一个word的所有字符

例如: file='/var/log/messages'

${file%*/}: 返回的结果是/var/log

${file%%*/}: 返回结果为空

phonenumber='010-110-8'

${phonenumber%%-*}

${phonenumber##*-}

查找替换:

${variable/pattern/substi}: 替换第一次出现

${variable//pattern/substi}:替换所有的出现

${variable/#pattern/substi}:替换行首被pattern匹配到的内容

${variable/%pattern/substi}:    行尾

pattern可以使用globbing中的元字符:*   ?

查找删除:

${variable/pattern}  ; ${variable//pattern}  ; ${variable/#pattern}  ;${variable/%pattern}

大小写转换:注意大小转换只能对单个字符使用

小-->大:${variable^^}    ;大-->小:${variable,,}

变量赋值操作:

${parameter:-word} ; ${parameter:=word};${parameter:?word} ; ${parameter:+word}

${variable:-string} 字符串为空或未设定时返回string,否则返回字符串

${variable:=string  字符串为空或为设定时返回string且赋值给该变量,否则返回该变量

种结构

(一)if  判断条件  ;then

命令

fi

b64c4067cc31d2c090e0a320dd6d6c24.png

(二)if   判断条件 ;then

命令

else

命令

fi

06dfcd32d8c4a61b3d3440599d72b4d4.png           

(三)if   判断条件 ;then

命令

elif   判断条件 ;then

命令

...

else

命令

fi

if语句的多分支的使用和嵌套

687288c8f81d034b3e0913a635daa73b.png

case语句

case 变量 in

pattern1)命令 ;;

...

*)命令 ;;

esca

case的简单使用,并与if语句嵌套

8e962289f008e0754e3258e515c29543.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值