Shell语法(循环+⽂件读写)2.语法(循环+⽂件读写)01
for循环
语法格式
for 变量 in 字符串
do
语句1
done
介绍完for语法格式后,先看⼀下Linux⾃带的⼀个类似for循环的命令
seq命令
seq 1 15
输出1⼀直到15
1
2
3
4
shell创建文件并写入内容5
6
78
9
10
11
12
13
14
15
⽰例
#!/bin/bash
for i in `seq 1 15`
do
echo "数字  $i"
done
输出
数字 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 * // 将⽂件压缩到
这⾥有⼀个需求,出.sh结尾的⽂件并压缩为tgz #!/bin/bash
for i in `find /root -name "*.sh"`
do
tar - $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<~/
这⾥有⼀个⽂件
123
234
345
读取⽂件
#!/bin/bash
while read line
do
echo $line
done<~/
输出
123
234
345

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。