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(){ ##定义函数
……
}
变量含义:
$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原文链接:https://www.f2er.com/bash/388913.html