小编nit*_*hch的帖子

Bash 中的变量扩展

我尝试了以下命令

variable='one|name'
echo $variable
Run Code Online (Sandbox Code Playgroud)

输出是

one|name
Run Code Online (Sandbox Code Playgroud)

echo one|name给出错误No command 'name' found。这是合理的,因为 bash 将其|视为管道并尝试name使用one作为输入来执行命令。

但为什么echo $variable打印one|name?参数和变量展开后,不应该等价于echo one|name?

版本:

GNU bash, version 4.3.11(1)-release (i686-pc-linux-gnu)
Run Code Online (Sandbox Code Playgroud)

shell bash quoting variable-substitution

3
推荐指数
1
解决办法
2105
查看次数

标签 统计

bash ×1

quoting ×1

shell ×1

variable-substitution ×1