今天学习了预定义变量,自己写了一个小程序。可以一次性执行多个命令,并输出执行结果及日志。
先给大家看看执行结果:可以显示执行了哪些命令,执行结果是什么,执行的时间。
其实这个脚本的实现就是获取参数,并执行参数,对比执行结果,输出相应内容。
脚本如下:
#!/bin/bash
#test
echo "当前脚本的参数有${#}个"
echo "当前脚本的参数是: $*"
echo "当前您正在执行的脚本名称是: $0"
for i in $*;
do
$i
if [[ $? == 0 ]]; then
echo -e $i '\e[1;32m 程序继续执行\e[0m' `date`
echo
else
echo -e $i'\e[1;31m 程序立即停止\e[0m' `date`
echo
#break
fi
done
解释一下:
表示形式如下
$#:命令行中位置参数的个数
$*:所有位置参数的内容
$?:上一条命令执行后返回的状态,当返回状态值为0时表示执行正常,非0值表示执行异常或出错
$0:当前执行的进程/程序名
计算整数表达式的运算结果
格式:expr 变量1 运算符 变量2 ...[运算符 变量n]
• expr的常用运算符
加法运算:+
减法运算: -
乘法运算: \*
除法运算: /
求模(取余)运算: %
num=`expr 2 \* 8`
echo $num
注意:使用反编译符,就是esc下面那个。\*表示乘,
也是使用$(( ))方式,如:num=$((2 \* 8))