Linux进阶之bash编程(流程控制-for循环)
2016-04-20 18:20
1096 查看
bash脚本里定义后续命令执行日志输出路径
for循环
循环允许你重复一段代码固定次数,在循环代码执行期间,一个称为循环变量的特殊变量被赋予了不同的值;
for循环很适合处理命令行上的参数以及文件集,for结构的语法如下:
for name [in list]
do
statements
done
list为名称列表,如果in list被省略,列表默认为"$@",即命令行参数的引用列表。
3. 练习
例如:
获取执行脚本附带的参数并输出
for.sh:
输出1-n,n为执行脚本带入的参数
for2.sh:
计算从1加到n为多少,n为你执行该脚本时带入的参数?
vi for3.sh
[craft@vp143 test]$ vi jiecheng.sh
#!/bin/bash
n=10
tmp=1
for
i in `seq $n`
do
let tmp=`expr $i \* $tmp`
echo
"$tmp"
done
执行:[craft@vp143
test]$ bash -i jiecheng.sh
1
2
6
24
120
720
5040
40320
362880
3628800
#!/bin/bash logDir=`date +%F` exec &>/tmp/logDir.log //此次定义后续命令的执行输出日志路径 df -h top
for循环
循环允许你重复一段代码固定次数,在循环代码执行期间,一个称为循环变量的特殊变量被赋予了不同的值;
for循环很适合处理命令行上的参数以及文件集,for结构的语法如下:
for name [in list]
do
statements
done
list为名称列表,如果in list被省略,列表默认为"$@",即命令行参数的引用列表。
3. 练习
例如:
获取执行脚本附带的参数并输出
for.sh:
#!/bin/bash for fileDir in "$@" do echo "$fileDir" done执行
#bash for.sh /var /opt /tmp /var /opt /tmp
输出1-n,n为执行脚本带入的参数
for2.sh:
#!/bin/bash for i in `seq $1` do echo "$i" done执行:
#bash for2.sh 3 1 2 3
计算从1加到n为多少,n为你执行该脚本时带入的参数?
vi for3.sh
#!/bin/bashfor for i in `seq $1` do let sum+=$i done echo "sum=$sum" 执行:#bash for3.sh 100 sum=50505秒倒计时
daojishi.sh #!/bin/bash n=5 for i in `seq 5` do echo "倒计时:$n" let n-- sleep 1 done 执行:#bash daojishi.sh 倒计时:5 倒计时:4 倒计时:3 倒计时:2 倒计时:1阶乘算法,10的阶乘结果?
[craft@vp143 test]$ vi jiecheng.sh
#!/bin/bash
n=10
tmp=1
for
i in `seq $n`
do
let tmp=`expr $i \* $tmp`
echo
"$tmp"
done
执行:[craft@vp143
test]$ bash -i jiecheng.sh
1
2
6
24
120
720
5040
40320
362880
3628800
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍