Shell基础语法(下)

简介:

for语句

基本格式:

for 变量名 in 条件; do …; done


样例:遍历目录或文件

1
2
3
4
5
6
7
8
9
#!/bin/bash
cd  /etc/                  ##脚本中如果查询的目录在多级目录下,首先要进入到目录,或者,直接跟绝对路径
for  in  ` ls  /etc/ `       ##遍历目录
do
     if  [ -d $a ]          ##一个一个的去判断是否为目录
     then
     ls  -d $a              ##如果是目录,就查看下目录内的文件和子目录
     fi
done


while语句

基本格式:

while 条件; 

do … ;

done


样例:实时监测负载发邮件

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
while  :          ##:表示永远循环,和true一个意思
do
     load=`w| head  -1| awk  -F  'load average: '  '{print $2}' | cut  -d. -f1`
if  [ $load -gt 10 ]
then
     top |mail -s  "load is high: $load"  abcd@123.com   ##这里也可以执行python发邮件的脚本
fi
sleep  30
done


break

跳出整个循环,执行循环代码后的指令。


continue

跳过本次循环,进行下一轮循环。


exit

退出整个脚本。


函数

基本格式:

function fun(){    ##定义函数

……         

}

fun 1 2 3          ##传入参数,调用函数


变量含义:

$1 : 第一个参数

$2 : 第二个参数

$3 : 第三个参数

$0 : 脚本的本身名称

$# : 传入的参数个数

$@ : 全部参数


样例:查看网卡ip地址

1
2
3
4
5
6
7
#!/bin/bash
ip() {
     ifconfig  grep  -A1  "$e"  | tail  -1 |  awk  '{print $2}'
}
read  -p  "Please input the eth name: "  e
myip=`ip $e`
echo  "$e address is $myip"


数组

定义:

1
2
3
4
5
6
7
8
9
10
11
# a=(1 2 3)          ##定义一个数组a并赋值 1 2 3
# echo ${a[*]}       ##注意输出a的值的格式
1 2 3
# echo ${a[1]}       ##输出单个a数组中的值
2
# echo ${a[2]}
3
# echo ${a[0]}       ##注意第一个其实是 0
1
# echo ${#a[@]}      ##获取数组的元素个数
3

更改:

1
2
3
4
5
6
7
8
# a[3]=a         ##给第三个数组赋值一个a
# echo ${a[*]}
1 2 3 a
# a[3]=aaa       ##修改赋值为aaa
# echo ${a[*]}
1 2 3 aaa
#echo ${a[@]/5/asd}  ##替换
1 2 3 4 asd 6 7 8

删除:

1
2
# unset a[2]         ##删除a数组中第2位的值
# unset a            ##删除a数组

分片:

1
2
3
4
5
6
7
# a=(`seq 1 8`)          ##给a赋值8个数
# echo ${a[*]}
1 2 3 4 5 6 7 8
# echo ${a[@]:3:3}       ##从第3个数组开始,截取3个。
4 5 6
# echo ${a[@]:0-3:2}     ##从倒数第三个开始,取两个数
6 7












本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2064850 ,如需转载请自行联系原作者
相关文章
|
人工智能 Shell Linux
shell基础语法
shell基础语法
170 1
|
Shell
Shell脚本有哪些基本语法?
【9月更文挑战第4天】
367 18
|
Shell
Shell while 语法(: 死循环)
Shell while 语法(: 死循环)
492 0
|
Shell 程序员 数据安全/隐私保护
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)
347 1
|
存储 Unix Shell
shell语法总结
以上是Shell脚本语言的基本要点,它可以帮助你在命令行中自动化执行任务和操作系统。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
182 3
|
Shell Perl
shell学习(十) 【shell awk基本语法】
shell学习(十) 【shell awk基本语法】
160 1
|
监控 Shell
shell学习(五) 【循环控制continue,break、while 语法】
shell学习(五) 【循环控制continue,break、while 语法】
170 0
|
Shell 应用服务中间件 开发工具
shell 学习(二) shell语法【特殊字符、转义字符、shell 字体颜色和字体背景】
shell 学习(二) shell语法【特殊字符、转义字符、shell 字体颜色和字体背景】
128 0
|
Shell
shell 学习(四)【if语法 for循环控制】
shell 学习(四)【if语法 for循环控制】
131 0
|
Shell C语言 C++
【Shell 编程指南】shell中的(),{}几种语法用法
【Shell 编程指南】shell中的(),{}几种语法用法
123 0