Unix系统中关于SHELL中的内置变量$?的理解
来源:互联网 发布:有玙字的网络名称 编辑:程序博客网 时间:2024/06/04 18:43
关于SHELL中的内置变量$?,一般都是这样解释的,获得上一条命令执行后的返回值,0表示没有错误,其它任何值表明有错误。
例1:
$ app/xuhk/hello.ksh$ echo $?
如果输出0代表运行shell文件hello.ksh没有发生错误,否则代表shell文件运行失败
再看一个例子
例2:
$ length=10$ height=5$ result=`echo "${length} * ${height}" | bc`$ echo $?0$ echo ${result}50
$?的结果是0,代表命令没发生错误,但这里的$?是计算操作【`echo "${length} * ${height}" | bc`】的返回值呢,还是赋值操作【result=`echo "${length} * ${height}" | bc`】的返回值呢?
其实我觉得应该是计算操作【`echo "${length} * ${height}" | bc`】命令执行后的返回值,我们把例子改下,把shell的运算器bc改成一个不存在的命令bcTest,如下:
例3:
$ length=10$ height=5$ result=`echo "${length} * ${height}" | bcTest`ksh: bcTest: 未找到。$ echo $?127$ echo ${result}
从上面的运行结果来看$?为127,这个值是【`echo "${length} * ${height}" | bcTest`】命令执行错误后的返回值,因为发生错误,所以赋值操作并未执行,${result}里的值为空。但奇怪的是即使${result}里以前有值也没了.
- Unix系统中关于SHELL中的内置变量$?的理解
- shell脚本中的dat,计算器,内置变量的用法
- 常用的shell内置变量
- shell中的系统变量
- unix shell 变量的分类
- unix中shell 非一般变量$0 $n $* $@ $! $?的详解
- Unix:系统环境变量和SHELL变量
- Unix系统环境变量和Shell变量
- 关于nginx的内置变量
- Linux系统中SHELL命令或脚本中关于$理解
- Shell的系统变量
- shell的特殊重要内置变量
- 关于linux系统bash shell编程中开头#!/bin/bash的理解
- shell内置变量
- shell 各种内置变量
- Shell awk 内置变量
- SHELL 内置变量
- shell中常用系统变量
- 反向代理简介
- PHP标记、语句、注释
- 根据两站点的经纬度求两站点间的距离
- js编码处理
- object C 中使用正则表达式
- Unix系统中关于SHELL中的内置变量$?的理解
- android sqlite SQLiteDatabase 操作大全 不看后悔!必收藏!看后精通SQLITE (第三部分,完整代码)
- C#泛型有什么好处
- mysql常用操作
- scp用法
- jquery的wysiwyg富文本编辑器使用
- 在Win2003中架设Discuz!论坛的方法
- 常见错误
- Demo:无需专业知识 轻松将2D大头照变成3D模型