dal*_*y42 25 command-line bash
这个问题很直接。我可以使用$?
. 但究竟是什么呢?
我不认为它是一个变量,因为除了_
.
foo?foo=10
Run Code Online (Sandbox Code Playgroud)
将导致错误: foo?foo=10: command not found
所以如果它不是一个变量,它是什么?还有其他人喜欢吗?
Ron*_*Ron 24
它是什么?
$?
是一个内置变量,用于存储命令、函数或脚本本身的退出状态。
$?
读取最后执行的命令的退出状态。函数返回后,$?
给出函数中执行的最后一个命令的退出状态。这是 Bash 给函数一个“返回值”的方式。它返回0
成功或1 - 255
错误范围内的整数。
有其他人也喜欢吗?
是的,bash 中有几个这样的内置变量。您可以在此处查看列表。参考:http : //www.tldp.org/LDP/abs/html/exit-status.html
Syl*_*eau 24
$?
是一个变量但是一个特殊的,这就是为什么允许特殊字符的原因。
($?)
扩展到最近执行的前台管道的退出状态。
它不是唯一的,shell 对几个参数进行了特殊处理。这些参数只能被引用;不允许分配给他们:
Variable Meaning
$0 Filename of script
$1 Positional parameter #1
$2 - $9 Positional parameters #2 - #9
${10} Positional parameter #10
$# Number of positional parameters
"$*" All the positional parameters (as a single word) *
"$@" All the positional parameters (as separate strings)
${#*} Number of positional parameters
${#@} Number of positional parameters
$? Return value
$$ Process ID (PID) of script
$- Flags passed to script (using set)
$_ Last argument of previous command
$! Process ID (PID) of last job run in background
* Must be quoted, otherwise it defaults to $@.
Run Code Online (Sandbox Code Playgroud)
资料来源:
$?
是 bash 中的一个特殊变量,它始终保存上次执行命令的返回/退出代码。
您可以通过运行在终端中查看它echo $?
。
返回代码在范围 [0; 255]。
返回码0
通常表示一切正常。
其他值表示错误。大多数应用程序返回1
或自定义值。如果未找到命令,则变量通常包含127
如果您想将此变量设置为特定值,您可以轻松地执行此操作bash -c "exit 5"
以返回例如返回代码5
。
归档时间: |
|
查看次数: |
14894 次 |
最近记录: |