求助 比较运算符

sh/bash/dash/ksh/zsh等Shell脚本
回复
fy20041127
帖子: 7
注册时间: 2009-01-12 21:36

求助 比较运算符

#1

帖子 fy20041127 » 2009-09-03 10:57

小弟今天学习比较运算符,编写的简单测试程序
#! /bin/bash
clear
let salary=3000
let newsalary=2000
test $salary -ne $newsalary
echo "$?"

可结果竟然是 0,这不是测试二者是否不相等的吗,明明不相等,应该是1阿。其他的比较运算符结果也都是相反的,不知道为什么
在线等高手!!!!! :em06
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 求助 比较运算符

#2

帖子 eexpress » 2009-09-03 10:59

let干嘛

[ xx -ne xx ] && xx

多看 man bash
少问
● 鸣学
头像
懒蜗牛Gentoo
论坛版主
帖子: 7362
注册时间: 2007-03-02 17:36
系统: Linux Mint

Re: 求助 比较运算符

#3

帖子 懒蜗牛Gentoo » 2009-09-03 11:01

shell里,0表示成功、真,1表示失败、假。和c里面相反。
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
fy20041127
帖子: 7
注册时间: 2009-01-12 21:36

Re: 求助 比较运算符

#4

帖子 fy20041127 » 2009-09-03 11:20

谢谢3楼,想继续请教个问题,
#! /bin/bash
clear
let salary=3000
let newsalary=2000
test $salary && $newsalary
echo "$?"

上面这个程序返回
./6.1: line 5: 2000:找不到命令
127

请问这个是为什么?test不能测试逻辑运算符吗?谢谢
头像
懒蜗牛Gentoo
论坛版主
帖子: 7362
注册时间: 2007-03-02 17:36
系统: Linux Mint

Re: 求助 比较运算符

#5

帖子 懒蜗牛Gentoo » 2009-09-03 11:26

test $salary && $newsalary??
不能这么用吧,这样就是
test 3000 && 2000
先运行test 3000 再运行2000,2000当然不是一个命令了。
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
fy20041127
帖子: 7
注册时间: 2009-01-12 21:36

Re: 求助 比较运算符

#6

帖子 fy20041127 » 2009-09-03 11:31

#! /bin/bash
clear
a=100
if [$a -eq 100]
then
echo "aaa"
fi

还有上面的也是一样,提示第四行的100:找不到命令

那请问到底这个命令的区分是什么样的?难道要加括号吗?
t3swing
帖子: 1028
注册时间: 2008-11-01 21:42
来自: 树下板凳

Re: 求助 比较运算符

#7

帖子 t3swing » 2009-09-03 13:56

看下脚本教程吧,这个东西不能全靠问阿
[ ]两边都要加空格
和c不同的细节有很多
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。
回复