下面是bash的代码:
a=`echo hello`
echo $a
Run Code Online (Sandbox Code Playgroud)
输出是:
你好
但我认为它应该是:
你好
0
你认为错了;-)
将命令放在反引号中会将右侧表达式的输出(stdout)分配给左侧的变量.
$? 为您提供命令的"输出状态"(或返回代码) - 也就是您期望的"0".
所以:
a=`echo hello`
Run Code Online (Sandbox Code Playgroud)
运行命令"echo hello"但不是回显到stdout,而是"回声"到变量a.所以a = whatever_the_command_would_have_written_to_stdout(在本例中为"hello") - 实际上没有任何内容写入stdout,因为它被`s"捕获"了
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |