Linuxは初めてです。JAVA_HOME
プロンプトで環境変数を設定するbashコマンドが表示されています(これは正しい用語ですか?) 。
export JAVA_HOME =$(readlink -f /usr/bin/java |sed "s:bin/java::")
内部のコマンドが何をするか知って$()
います。しかし、何の$()
ためにあるのでしょうか?含めないと失敗しました。
明らかに、グーグル$()
はあまりうまく機能しません。
$()
コマンド置換と呼ばれます。コマンドの出力をコマンド自体に置き換えます。コマンド置換を行うには、基本的に2つの方法があります。
$(command)
またはバックティック付き
`command`
最初のバリアントが優先されます。
コマンド置換の詳細については、こちらをご覧ください。
コマンドの出力を取得するために使用されますreadlink
。例えば:
cnicutar@lemon:~$ os=$(uname)
cnicutar@lemon:~$ echo $os
Linux
$(...)
式はコマンドを実行し、コマンドの出力を置き換えます。次のようなものを試してください。
echo $(date)
したがって、この例では、コマンドの出力を取得し、(を実行した後)readlink
に割り当てています。JAVA_HOME
sed
詳細については、bash
manページを参照してください。