Shell基础语法(下)
发布时间:2020-12-15 20:01:37 所属栏目:安全 来源:网络整理
导读:for语句 基本格式: for 变量名 in 条件; do …; done 样例:遍历目录或文件 #!/bin/bashcd/etc/##脚本中如果查询的目录在多级目录下,首先要进入到目录,或者,直接跟绝对路径forain`ls/etc/`##遍历目录doif[-d$a]##一个一个的去判断是否为目录thenls-d$a##
for语句 基本格式: for 变量名 in 条件; do …; done 样例:遍历目录或文件 #!/bin/bash cd/etc/##脚本中如果查询的目录在多级目录下,首先要进入到目录,或者,直接跟绝对路径 forain`ls/etc/`##遍历目录 do if[-d$a]##一个一个的去判断是否为目录 then ls-d$a##如果是目录,就查看下目录内的文件和子目录 fi done while语句 基本格式: while 条件; do … ; done 样例:实时监测负载发邮件 #!/bin/bash while:##:表示永远循环,和true一个意思 do load=`w|head-1|awk-F'loadaverage:''{print$2}'|cut-d.-f1` if[$load-gt10] then top|mail-s"loadishigh:$load"abcd@123.com##这里也可以执行python发邮件的脚本 fi sleep30 done break 跳出整个循环,执行循环代码后的指令。 continue 跳过本次循环,进行下一轮循环。 exit 退出整个脚本。 函数 基本格式: function fun(){ ##定义函数 …… } fun 1 2 3 ##传入参数,调用函数 变量含义: $1 : 第一个参数 $2 : 第二个参数 $3 : 第三个参数 $0 : 脚本的本身名称 $# : 传入的参数个数 $@ : 全部参数 样例:查看网卡ip地址 #!/bin/bash ip(){ ifconfig|grep-A1"$e"|tail-1|awk'{print$2}' } read-p"Pleaseinputtheethname:"e myip=`ip$e` echo"$eaddressis$myip" 数组 定义: #a=(123)##定义一个数组a并赋值123 #echo${a[*]}##注意输出a的值的格式 123 #echo${a[1]}##输出单个a数组中的值 2 #echo${a[2]} 3 #echo${a[0]}##注意第一个其实是0 1 #echo${#a[@]}##获取数组的元素个数 3 更改: #a[3]=a##给第三个数组赋值一个a #echo${a[*]} 123a #a[3]=aaa##修改赋值为aaa #echo${a[*]} 123aaa #echo${a[@]/5/asd}##替换 1234asd678 删除: #unseta[2]##删除a数组中第2位的值 #unseta##删除a数组 分片: #a=(`seq18`)##给a赋值8个数 #echo${a[*]} 12345678 #echo${a[@]:3:3}##从第3个数组开始,截取3个。 456 #echo${a[@]:0-3:2}##从倒数第三个开始,取两个数 67 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |