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

可恶的bash脚本的执行结

发布时间:2020-12-15 09:13:19 所属栏目:安全 来源:网络整理
导读:bash之if(选择执行结构) 特点:根据条件的逻辑判断结果选择执行的语句内容 if的单分支结构 if 命令 ;then 命令 ;fi 结构分析:首先 判断if后命令的状态返回值,如果为真(状态返回值为0),则执行then后面的命令,fi(结束if的命令) 注意:一行中若有多个命

bash之if(选择执行结构)

特点:根据条件的逻辑判断结果选择执行的语句内容

if的单分支结构

if 命令 ;then 命令 ;fi

结构分析:首先 判断if后命令的状态返回值,如果为真(状态返回值为0),则执行then后面的命令,fi(结束if的命令)

注意:一行中若有多个命令存在需要用分号分开

若不习惯使用分号可书写为

if 命令

then 命令

fi

if的双分支结构

if 命令 ;then 命令;else命令;fi

结构分析:首先判断if后命令的状态返回值,如果为真(状态返回值为0),则执行then后面的命令,否则执行else后面的命令;fi结束if语句

建议书写格式:

if 命令 ;then

命令

else

命令

fi

注意缩进:以便于在查看是能迅速理解表达内容


if的多分支结构

if 命令;then 命令;elif 命令;then命令;elif命令;thenml;.....else 命令;fi

结构分析:判断if后命令的状态返回值,若为真则执行then后面的命令,

若为假,则判断第一个elif后命令的状态返回值;若为真则执行该elif后的then命令

若为假,则判断下一个elif后命令的状态返回值,若为真则执行该elif后的then命令

.........

当if以及所有的elif后的所有的命令的状态返回值均为假时,执行else后的命令

fi


建议书写格式:

if 命令 ;then

命令

elif 命令 ;then

命令

elif 命令 ;then

命令

......

else

命令

fi

注意if语句可以嵌套;

如:if命令;then

if 命令;then

if命令;then

......

else

命令

fi

else

命令

fi

else

命令

fi



bash之for

循环执行结构:

格式:for 参数变量 in 变量取值表 ;do

循环体

done


for循环需要遍历的列表;可以通过以下方式生成列表

1.直接给出列表

[root@localhost~]#foriin123;doecho-e"$i";done
1
2
3

2.纯整数列表

①:花括号展开

{FISTNUM..LASTNUM} :FISTNUME-LASTNUM之间的包括其在内的数值

[root@localhost~]#foriin{1..9};doecho"$i";done
1
2
3
4
5
6
7
8
9

{FIST,SECOND,THID,...,LAST}:参数列表

[root@localhost~]#foriin{1,3,5,7,9};doecho"$i";done
1
3
5
7
9


②:seq命令

seq [OPTION]...LASR 列表为1到LASR的所有整数

[root@localhost~]#foriin$(seq5);doecho-e"$i";done
1
2
3
4
5

seq [option]...FIRST LAST 列表为 FIRST到LAST 之间所有的整数

[root@localhost~]#foriin$(seq59);doecho-e"$i";done
5
6
7
8
9

seq [OPTION]...FIRST n LAST 列表为 FIRST 到LAST 以n为公差的所有整数

[root@localhost~]#foriin$(seq529);doecho-e"$i";done
5
7
9

注意:seq是命令在引用时应该添加 $()
③:花括号展开

{FIST..LAST} :从FIST 到 LAST之间由规律的字符列表

[root@localhost~]#foriin{a..f};doecho-e"$i";done
a
b
c
d
e
f

④:命令的执行结果:

ls /etc

grep /path/to/somefile

⑤:通配符

[root@localhost~]#foriin/mnt/*;doecho-e"$i";done
/mnt/a.txt
/mnt/b.txt
/mnt/c.txt

⑥:某些特殊变量的值

$*,$@

(编辑:李大同)

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

    推荐文章
      热点阅读