2017-05-14 10 views
0

Bashで変数を使用する方法に混乱します。次の例を参照してください。なぜBashが()内の変数を認識できないのか理解できません。誰でも私が何が起こっているのか理解するのを助けてくれますか?あなたの助けのためのBash変数の使用

$echo $SHELL 
/bin/bash 
$export TestC=/Users 
$echo $TestC 
/Users 
$export TestD=$TestC/ABCD 
$echo $TestD 
/Users/ABCD 
$export TestD=$(TestC)/ABCD 
-bash: TestC: command not found 

おかげ

+0

これは、変数名の指定方法ではないためです。 –

+0

ご返信ありがとうございます。私が間違っていることを理解するのを助けてくれますか? – user3357091

+0

なぜカッコを使用しましたか? – cdarke

答えて

4

あなたは$TestCのように、その後、名前を$を使用するか、またはあなたが${TestC}のような名前の周りにカッコを置くことができますbashの変数を参照。

$(...)は、サブコマンド構文command substitutionであり、括弧の中でコマンドを実行し、そのコマンドのstdoutを「返す」。

パラメータ/変数の拡張については、hereを参照してください。これは、中括弧を使用するときにパラメータの拡張でできることもたくさん示しています。

関連する問題