- bash脚本里定义后续命令执行日志输出路径
-
#!/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被省略,列表默认为"[email protected]",即命令行参数的引用列表。
3. 练习
例如:
- 获取执行脚本附带的参数并输出
for.sh:
#!/bin/bash for fileDir in "[email protected]" 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=5050
- 5秒倒计时
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的阶乘结果?
[[email protected] test]$ vi jiecheng.sh
#!/bin/bash
n=10
tmp=1
for
i in `seq $n`
do
let tmp=`expr $i \* $tmp`
echo
"$tmp"
done执行:[[email protected]
test]$ bash -i jiecheng.sh1
2
6
24
120
720
5040
40320
362880
时间: 2024-10-22 17:16:23