我觉得应该判断第一个数是否为数字不是则退出返回,是则继续让输入第二个数再判断是否是数字,不是则退出返回,是则继续输入符号,这样就不需要等全部输入了才来判断格式是否正确,而是一步一步限定输入的内容,这样更合理
2016-09-26
老师有个地方在以前的讲课中没有注意,==这个运算符左右两边的空格存在与否很重要的!亲测,我也是在自己编写计算器的时候发现的。具体如下:
1.首先定义一个变量 name=*
2.继续写入命令 [ "$name"=="-" ] && echo yes||echo no 执行后,你会发现打印的是yes
3.如果写入命令 [ "$name" == "-" ] && echo yes||echo no 执行后,你会发现打印的是no
总结:空格很重要!
1.首先定义一个变量 name=*
2.继续写入命令 [ "$name"=="-" ] && echo yes||echo no 执行后,你会发现打印的是yes
3.如果写入命令 [ "$name" == "-" ] && echo yes||echo no 执行后,你会发现打印的是no
总结:空格很重要!
2016-09-26
-d 判断目录
-f 判断普通文件
-e 文件是否存在
[ -d /tmp ] && echo "OK" || echo "NO"
[ -f /tmp/test.txt ] && echo "OK" || echo "NO"
[ -e /tmp/test.txt ] && echo "OK" || echo "NO"
注意 后面的&& 和|| 顺序 必须是&& 在前
-f 判断普通文件
-e 文件是否存在
[ -d /tmp ] && echo "OK" || echo "NO"
[ -f /tmp/test.txt ] && echo "OK" || echo "NO"
[ -e /tmp/test.txt ] && echo "OK" || echo "NO"
注意 后面的&& 和|| 顺序 必须是&& 在前
2016-09-21
脚本包含服务名时,写成ps aux | grep apache |grep -v grep,就算脚本名字是httpd,也没事,除非故意写成相冲突的
2016-09-18
老师没有考虑num2=0的情况,请把 sum=$(( $num1 / $num2 )) 替换成下面:
if [ $num2 != 0 ]
then
sum=$(( $num1 / $num2 ))
else
echo "请输入正确的num2:"
exit 12
fi
不用谢!
if [ $num2 != 0 ]
then
sum=$(( $num1 / $num2 ))
else
echo "请输入正确的num2:"
exit 12
fi
不用谢!
2016-09-17
#!/bin/bash
test=$(df -h | grep sda5 | awk '{print $5}' |cut -d "%" -f 1)
if [ "$test" -ge "10" ]
then
echo "ROM:我要报警啦!"
fi
test=$(df -h | grep sda5 | awk '{print $5}' |cut -d "%" -f 1)
if [ "$test" -ge "10" ]
then
echo "ROM:我要报警啦!"
fi
2016-09-17