分页: 1 / 1
[问题]提一个关于shell中的运算符的问题
发表于 : 2007-06-08 19:43
由 zhao760722
#!/bin/bash
clear
let sa=3000
let ns=2000
test $sa -eq $ns #检验两个变量是否相等 ,如果相等test就返回一个真值,否则返回一个假值
echo "$?" #显示返回的值 。
如题:变量sa=3000,变量ns=2000,sa >ns,应返回一个假值:0。但是我在运行的时候却返回 1。
不知是为什么?
发表于 : 2007-06-08 19:52
由 iblicf
0 是 true
1 是 false ,
你不看shell文档的 ?
发表于 : 2007-06-08 20:07
由 zhao760722
iblicf 写了:0 是 true
1 是 false ,
你不看shell文档的 ?
我看shell文档的。但是我从网上下载一本linux编程的书,上面说非零值是真。
看来这本书有误。请推荐一本初学者能看的书,最好是.pdf格式 。
谢谢你!!
发表于 : 2007-06-08 20:13
由 iblicf
高级Bash脚本编程指南 你自己搜吧,有pdf ,html
发表于 : 2007-06-08 20:57
由 aqua203
《高级Bash脚本编程指南》这本书在www.linuxsir.org上可以找到。
发表于 : 2007-06-09 15:12
由 aBiNg
那本书 写了:非零值是真。

发表于 : 2007-06-09 15:47
由 alinmn
记得好像csh的非零值是真?
发表于 : 2007-06-09 19:03
由 aqua203
《高级Bash脚本编程指南》第七章test中写到:
当它们所测试的算术表达式的结果为非0的时候,
他们的退出码将返回0.这些算术扩展(见第15章)结构被用来做算术比较.
0表示成功;
发表于 : 2007-06-09 19:58
由 iblicf
这个还用争?
shell 很多种,ubuntu缺省的是 bash
随便 ls ..date
echo $?