Shell基础语法(下)

前端之家收集整理的这篇文章主要介绍了Shell基础语法(下)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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
原文链接:https://www.f2er.com/bash/388913.html

猜你在找的Bash相关文章