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被省略,列表默认为"$@",即命令行参数的引用列表。
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