0

次のように変数を使用してパスを作成しようとしています。

set var=foo
set path="/home/user/prefix_$var_suffix/bar"

を超えて読み続けないように変数を埋め込む適切な方法は何ですか_。おまけとして、perl と csh (または少なくとも bash) で機能する構文はありますか?

4

1 に答える 1

1

中括弧を使用して変数を区切ります。これは、csh およびすべての Bourne スタイルのシェル (bash を含む) で機能します。Perl でも動作します。

set path="/home/user/prefix_${var}_suffix/bar"

もう 1 つの方法は、引用符を終了することです。

set path="/home/user/prefix_""$var""_suffix/bar"

Perl では、.連結演算子を使用する必要があります。

$path = "/home/user/prefix_".$var."_suffix/bar"

実行可能ファイルを見つけるための検索パスに使用されるため、スクリプトでpath変数名として使用しないでください。csh

于 2013-07-23T03:45:14.253 に答える