shell学习笔记(2)shell脚本 0 1 和真假

 

Q:为什么shell脚本中,0表示真,1表示假?

shell语言有状态码的概念

假设错误0返回false,则返回的错误只有一种类型;如果返回非零数字,则有1-255,可以表示各种错误:1为普遍错误,127意为command not find等等。

状态码描述
0命令成功结束
1通用未知错误  
2误用Shell命令
126命令不可执行
127没找到命令
128无效退出参数
128+xLinux信号x的严重错误
130命令通过Ctrl+C控制码越界
255退出码越界

参考http://tldp.org/LDP/abs/html/exitcodes.html#EXITCODESREF

Q:shell中可以将 0 1 作为条件写入判断语句中吗?

Bash是脚本语言,也就是一种弱编程语言。0 1 只表示返回状态码。

判断语句中不管写什么数字都返回真。因此shell中 while[ 1 ]与c语言while(1)循环的意思是不一样的,前者是因为判断语句中是数字,所以永真,后者是1代表true所以永真。

注:shell脚本中的[ ]条件语句两端必须有空格 即[空格conditon空格]

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值