我对如何在Bash中使用变量感到困惑。请参阅以下示例。我无法弄清楚为什么Bash无法识别()中的变量。有人可以帮我理解发生了什么。
$echo $SHELL
/bin/bash
$export TestC=/Users
$echo $TestC
/Users
$export TestD=$TestC/ABCD
$echo $TestD
/Users/ABCD
$export TestD=$(TestC)/ABCD
-bash: TestC: command not found
感谢您的帮助
答案 0 :(得分:4)
引用bash变量时,您可以使用$
,然后使用$TestC
中的名称,也可以在名称${TestC}
附近添加大括号。
$(...)
是一个名为command substitution的子shell语法,它将在parens中执行命令,然后“返回”该命令的stdout。
阅读所有关于参数/变量扩展here的内容,这也展示了使用大括号时参数扩展可以做的许多额外事情。