我收到了一些命令行指令:
ROOT=`cmd1 | cmd2 | cmd3`
echo ROOT=$ROOT
...
似乎这个 $ROOT 存储了三个流水线 cmd 的输出。但是什么是 $ROOT?是环境变量吗?是寄存器吗?我该怎么称呼它?我可以有其他类似的变量吗?例如 $APPLE?我希望更多地了解 $ROOT :)
我收到了一些命令行指令:
ROOT=`cmd1 | cmd2 | cmd3`
echo ROOT=$ROOT
...
似乎这个 $ROOT 存储了三个流水线 cmd 的输出。但是什么是 $ROOT?是环境变量吗?是寄存器吗?我该怎么称呼它?我可以有其他类似的变量吗?例如 $APPLE?我希望更多地了解 $ROOT :)
ROOT
是一个环境变量,简单明了。$ROOT
只是ROOT
环境变量的扩展/评估。
例如:
xyzzy=plugh
echo xyzzy # gives xyzzy
echo $xyzzy # gives plugh
ROOT
环境变量的用途可能很重要(或不重要),但它的实际命名是毫无疑问的 - 它是一个名为ROOT
.
Root 是一个环境变量。变量在执行过程中被扩展,所以当echo
echo $ROOT 时,它被扩展为变量的内容。在这种情况下,反引号表示“执行命令”,因此cmd1 | cmd2 | cmd3
发出 的输出。您的示例令人困惑的是该echo
命令也使用变量名作为文本,也许这更有意义:
ROOT=`cmd1 | cmd2 | cmd3`
echo The ROOT variable is: $ROOT