私はlinuxを初めて使っています。
export JAVA_HOME =$(readlink -f /usr/bin/java |sed "s:bin/java::")
私は$()
内のコマンドが何をするか知っている:私はbashコマンドを見ていると、プロンプトでJAVA_HOME
環境変数を設定します(?でも右項があることです)。しかし、$()
は何ですか?私がそれを含まなければ失敗した。
明らかにグーグル$()
はうまく機能しません。
私はlinuxを初めて使っています。
export JAVA_HOME =$(readlink -f /usr/bin/java |sed "s:bin/java::")
私は$()
内のコマンドが何をするか知っている:私はbashコマンドを見ていると、プロンプトでJAVA_HOME
環境変数を設定します(?でも右項があることです)。しかし、$()
は何ですか?私がそれを含まなければ失敗した。
明らかにグーグル$()
はうまく機能しません。
readlink
コマンドの出力を取得するために使用します。たとえば:
[email protected]:~$ os=$(uname)
[email protected]:~$ echo $os
Linux
甘い!ありがとう!! –
@downvoter私の答えに間違いはありませんか? – cnicutar
$(...)
式は、コマンドを実行し、コマンドの出力を代入します。
echo $(date)
だから(
sed
を通してそれを実行した後に)この例では、それは
readlink
コマンドの出力を取っていると
JAVA_HOME
に割り当てる:このような何かを試してみてください。
詳細については、bash
のmanページを参照してください。
説明は良いですが、例は "日付"と同じです。 – jordanm
$()
は、コマンド置換と呼ばれます。これは、コマンドの出力をコマンド自体に置き換えます。
$(command)
またはバッククォート
`command`
との最初のバリアントが好ましいものである:あなたは、コマンド置換を行うことができる2つの方法が基本的に あります。
コマンド置換hereについて詳しく読むことができます。
http://tldp.org/LDP/abs/html/commandsub.html - コマンド置換と呼ばれています。 – Mat