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

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

(编辑:李大同)

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

    推荐文章
      热点阅读