我是 linux 新手。我看到一个JAVA_HOME
在提示符处设置环境变量的 bash 命令(这甚至是正确的术语吗?):
export JAVA_HOME =$(readlink -f /usr/bin/java |sed "s:bin/java::")
我知道里面的命令是做什么的$()
。但这是$()
为了什么?如果我不包括它,它就会失败。
显然,谷歌搜索$()
效果不佳。
$()
称为命令替换。它用命令本身替换命令的输出。基本上有两种方法可以进行命令替换:
$(command)
或带反引号
`command`
第一个变体是首选的变体。
您可以在此处阅读有关命令替换的更多信息。
它用于获取readlink
命令的输出。例如:
cnicutar@lemon:~$ os=$(uname)
cnicutar@lemon:~$ echo $os
Linux
$(...)
表达式运行命令并替换命令的输出。尝试这样的事情:
echo $(date)
所以在这个例子中,它获取readlink
命令的输出并将其分配给JAVA_HOME
(在运行它之后sed
)。
查看bash
手册页以获取更多详细信息。