2017-05-14 117 views
0

我很困惑如何在Bash中使用变量。请看下面的例子。我无法弄清楚为什么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

因为这完全不是您如何指定变量名称。 –

+0

感谢您的回复。你能帮我理解我做错了什么吗? – user3357091

+0

你为什么使用括号? – cdarke

回答

4

当引用一个bash变量,你要么使用$则名,如$TestC或者你可以把牙套周围的名称,比如${TestC}

$(...)是一个名为command substitution的子shell语法,它将在parens内执行命令,然后“返回”该命令的stdout。

阅读关于参数/变量扩展here的所有信息,这些信息还显示了在使用大括号时可以使用参数扩展做的许多额外的事情。