[ -e /root/install.log] -bash: [: missing `]' 系统是centos6.8请问这是什么原因呢? 中间要空隔。 [ -e /root/install.log ]
2017-07-01
@慕粉0113168618
打错单词啦
快速记忆:
-eq: equal 等于
-ne: not equal 不等于
-gt: greater than 大于
-lt: less than 小于
-ge: greater or equal 大于等于
-le: less or equal 小于等于
打错单词啦
快速记忆:
-eq: equal 等于
-ne: not equal 不等于
-gt: greater than 大于
-lt: less than 小于
-ge: greater or equal 大于等于
-le: less or equal 小于等于
2017-06-19
if [ "$test"=="root" ]注意==前后一定要有空格 ,没有空格也许 能执行 ,在root下结果正确,但在普通用户下结果就错了
2017-06-04
最新回答 / frankSorry
可以实现,但是无法判断运算符号以外的符号是否为合法符号。例如:输入符号_,程序将会出现问题。解决:加入符号判断,若符号不为“+-*/”,进行报错。
2017-06-01
read -p "请输入第一个数字:" -t 30 num1
read -p "请输入第二个数字:" -t 30 num2
read -p "请输入运算符号(暂时支持加减乘除)" -t 30 ope
if [ -n "$num1" -a -n "$num2" -a -n "$ope" ]
then
if [ -z ${num1//[0-9]/} -a -z ${num2//[0-9]/} ]
#${变量名//旧字符串/新字符串} 将符合旧字符串的全部字符替换成新字符串,这里替换成空
${变量名/旧字符串/新字符串} 符合旧字符串的第一个字符替换成新字符串
read -p "请输入第二个数字:" -t 30 num2
read -p "请输入运算符号(暂时支持加减乘除)" -t 30 ope
if [ -n "$num1" -a -n "$num2" -a -n "$ope" ]
then
if [ -z ${num1//[0-9]/} -a -z ${num2//[0-9]/} ]
#${变量名//旧字符串/新字符串} 将符合旧字符串的全部字符替换成新字符串,这里替换成空
${变量名/旧字符串/新字符串} 符合旧字符串的第一个字符替换成新字符串
2017-05-31