1

長いスクリプトを書きましたが、その一部で TERM、PATH、および HOME 変数の値が出力されます。

$Var1="$TERM"
echo "TERM $Var1"

$Var2="$PATH"
echo "PATH $Var2"

$Var3="$HOME"
echo "Home $Var3"
echo

ただし、スクリプトでは、これにより次のエラーが発生します。

userinfo.sh: line 55: =xterm: command not found
TERM
userinfo.sh: line 58: =/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/student/ch399/bin: No such file or directory
PATH
userinfo.sh: line 61: =/home/student/ch399: No such file or directory
Home

希望どおりに値を出力していますが、直後にエラーが出力されます。これの原因は何ですか?

4

2 に答える 2

3

やり方が間違っています^^

$Var1="$TERM"
echo "TERM $Var1"

$Var1 : これは、変数 Var1 の内容を出力します (ここでは、最初は空のように見えるため、次のように出力されます: "")

$TERM : これは、変数 XTERM の内容を出力します (ここでは、「xterm」に設定されているようです)

だからあなたはシェルに言っています:

 =$TERM
 echo "TERM "

出力を作成します(1番目はエラー、2番目はエコーです):

=xterm: command not found
TERM 

代わりに次を使用する必要があります。

Var1="$TERM"
echo "TERM $Var1"
Var2="$PATH" 
(etc.)
于 2013-01-18T13:36:59.213 に答える
3

$変数の初期化から を削除します。

変化 :

$Var1="$TERM"
echo "TERM $Var1"

$Var2="$PATH"
echo "PATH $Var2"

$Var3="$HOME"
echo "Home $Var3"
echo

に:

Var1="$TERM"
echo "TERM $Var1"

Var2="$PATH"
echo "PATH $Var2"

Var3="$HOME"
echo "Home $Var3"
echo
于 2013-01-18T13:33:36.757 に答える