可恶的bash脚本的执行结
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 ⑥:某些特殊变量的值 $*,$@ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |