加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell进阶

发布时间:2020-12-15 16:18:28 所属栏目:安全 来源:网络整理
导读:◆ 条件选择 if语句 单分支 if 判断条件 ;then 条件为真的分支代码 fi 双分支 if 判断条件 ; then 条件为真的分支代码 else 条件为假的分支代码 fi 多分支 if 判断条件 1 ; then 条件为真的分支代码 elif 判断条件 2 ; then 条件为真的分支代码 elif 判断条

◆ 条件选择 if语句

单分支

if 判断条件;then

条件为真的分支代码

fi

双分支

if 判断条件; then

条件为真的分支代码

else

条件为假的分支代码

fi

多分支

if 判断条件 1 ; then

条件为真的分支代码

elif 判断条件 2 ; then

条件为真的分支代码

elif 判断条件 3 ; then

条件为真的分支代码

else

以上条件都为假的分支代码

Fi

注意:if 语句可进行嵌套


条件判断:case 语句

case 变量引用 in

PAT1)

分支1

;;

PAT2)

分支2

;;

*)

默认分支

;;

esac

wKiom1m9FhST48BbAABlPHhGtEM088.png

◆ for 循环

语法:for 变量名 in 列表;do

循环体

done

执行机制 :依次 将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束。

列表生成方式

(1) 直接给出 列表

(2) 整数列表:

(a) {start..end}

(b) $(seq [start [step]] end)

(3) 返回列表的 命令

$(COMMAND)

(4) 使用glob 如:*.sh

(5) 变量引用;$@,$*


for循环的特殊格式

for (( 控制变量初始化; 条件判断表达式; 控制变量的修正表达式))

do

循环体

done

控制变量初始化:仅在运行到循环代码段时执行一次

控制变量的修正表达式:每轮循环结束会先进行控制变量修正运算,而后再做条件判断

例如:

For ((i=1;sum=0;i<=100;i++));do

[ $[i%2] ?Ceq 1 ]&& sum+=i

Done

Echo sum=$sum


◆ while 循环

while CONDITION; do

循环体

done

进入条件:CONDITION true

退出条件:CONDITION false


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

while read line;do

循环体

done </PATH/FROM/SOMEFILE

依次读取/PATH/FROM/SOMEFILE文件中的每一行,且将行赋值给变量line



◆ until 循环

until CONDITION; do

循环体

done

进入条件: CONDITION false

退出条件: CONDITION true


continue:结束本轮循环,进入到下一轮循环。

break:结束本次循环

shift命令

用于将参量列表 list 左移指定次数,缺省为左移一次。

参量列表 list 一旦被移动,最左端的那个参数就从列表中删除。whil到循环遍历位置参量列表时,常用到 shift。

一般用于参数不确定的情况下

wKiom1m9GT6j-j8HAAAT-tS4vlw766.png

◆创建无限循环

while true; do

循环体

done

until false; do

循环体

Done

◆select 循环与菜单

select variablein list

do

循环体命令

done

select

wKiom1m-W4rg1nuIAABVM5GFA3Y968.png

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读