分页: 1 / 1
求助 比较运算符
发表于 : 2009-09-03 10:57
由 fy20041127
小弟今天学习比较运算符,编写的简单测试程序
#! /bin/bash
clear
let salary=3000
let newsalary=2000
test $salary -ne $newsalary
echo "$?"
可结果竟然是 0,这不是测试二者是否不相等的吗,明明不相等,应该是1阿。其他的比较运算符结果也都是相反的,不知道为什么
在线等高手!!!!!

Re: 求助 比较运算符
发表于 : 2009-09-03 10:59
由 eexpress
let干嘛
[ xx -ne xx ] && xx
多看 man bash
少问
Re: 求助 比较运算符
发表于 : 2009-09-03 11:01
由 懒蜗牛Gentoo
shell里,0表示成功、真,1表示失败、假。和c里面相反。
Re: 求助 比较运算符
发表于 : 2009-09-03 11:20
由 fy20041127
谢谢3楼,想继续请教个问题,
#! /bin/bash
clear
let salary=3000
let newsalary=2000
test $salary && $newsalary
echo "$?"
上面这个程序返回
./6.1: line 5: 2000:找不到命令
127
请问这个是为什么?test不能测试逻辑运算符吗?谢谢
Re: 求助 比较运算符
发表于 : 2009-09-03 11:26
由 懒蜗牛Gentoo
test $salary && $newsalary??
不能这么用吧,这样就是
test 3000 && 2000
先运行test 3000 再运行2000,2000当然不是一个命令了。
Re: 求助 比较运算符
发表于 : 2009-09-03 11:31
由 fy20041127
#! /bin/bash
clear
a=100
if [$a -eq 100]
then
echo "aaa"
fi
还有上面的也是一样,提示第四行的100:找不到命令
那请问到底这个命令的区分是什么样的?难道要加括号吗?
Re: 求助 比较运算符
发表于 : 2009-09-03 13:56
由 t3swing
看下脚本教程吧,这个东西不能全靠问阿
[ ]两边都要加空格
和c不同的细节有很多