0

我收到了一些命令行指令:

ROOT=`cmd1 | cmd2 | cmd3`
echo ROOT=$ROOT
...

似乎这个 $ROOT 存储了三个流水线 cmd 的输出。但是什么是 $ROOT?是环境变量吗?是寄存器吗?我该怎么称呼它?我可以有其他类似的变量吗?例如 $APPLE?我希望更多地了解 $ROOT :)

4

2 回答 2

1

ROOT是一个环境变量,简单明了。$ROOT只是ROOT环境变量的扩展/评估。

例如:

xyzzy=plugh
echo xyzzy     # gives xyzzy
echo $xyzzy    # gives plugh

ROOT环境变量的用途可能很重要(或不重要),但它的实际命名是毫无疑问的 - 它是一个名为ROOT.

于 2013-03-16T03:48:49.487 回答
1

Root 是一个环境变量。变量在执行过程中被扩展,所以当echoecho $ROOT 时,它被扩展为变量的内容。在这种情况下,反引号表示“执行命令”,因此cmd1 | cmd2 | cmd3发出 的输出。您的示例令人困惑的是该echo命令也使用变量名作为文本,也许这更有意义:

ROOT=`cmd1 | cmd2 | cmd3`
echo The ROOT variable is: $ROOT
于 2013-03-16T03:50:07.557 回答