2.语法(循环+文件读写)01
for循环
语法格式
for 变量 in 字符串
do
语句1
done
介绍完for语法格式后,先看一下Linux自带的一个类似for循环的命令
seq命令
seq 1 15
输出1一直到15
1
2
3
4
5
6
78
9
10
11
12
13
14
15
示例
#!/bin/bash
for i in `seq 1 15`
do
echo "数字 $i"
done
输出
数字 1
数字 2
数字 3
数字 4
数字 5
数字 6
数字 7
数字 8
数字 9
数字 10
数字 11
数字 12
数字 13
数字 14
数字 15
加法的使用
#!/bin/bash
j=0
for((i=0;i<=100;i++))
do
j=`expr $i + $j` //中间有空格 不然无法区分参数
done
echo $j
输出
5050
压缩文件
tar czf all.tgz * // 将文件压缩到all.tgz
这里有一个需求,找出
.sh
结尾的文件并压缩为tgz
#!/bin/bash
for i in `find /root -name "*.sh"`
do
tar -czf xiao.tgz $i
done
while循环
语法格式
while 条件语句
do
语句
done
示例
#!/bin/bash
i=0
while((i<100))
do
echo "数字 $i"
i=`expr $i + 1`
done
输出
数字0
数字1
...
数字99
while中间添加命令
指令表达式用的是 [[ … ]]
算数表达式用的是(( … ))
这里通过[[ ]] 中间添加-lt参数
#!/bin/bash
i=0
while [[ $i -lt 100 ]]
do
echo "数字 $i"
i=`expr $i + 1`
done
文件读取
#!/bin/bash
while read line
do
echo $line
done<~/text.txt
这里有一个
text.txt
文件
123
234
345
读取文件
#!/bin/bash
while read line
do
echo $line
done<~/text.txt
输出
123
234
345
版权声明:本文为xiaolei999原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。