cshセットが一重引用符内の中括弧を削除しないようにする方法は?

cshセットが一重引用符内の中括弧を削除しないようにする方法は?

次のコードでは、setを使用すると一重引用符内で{}が削除されますが、エイリアスを使用すると削除されないように見えます。セットが校正器の取り外しを停止する方法は?

set variable = "middle"
set string = 'echo ${ENVVAR}_'$variable'_end'
echo $string

スクリプトを実行すると、次のものが表示されると予想します。

echo ${ENVVAR}_middle_end

しかし、私が得るものは次のとおりです。

echo $ENVVAR_middle_end

cshが中括弧を削除するのをどのように停止しますか?

ベストアンサー1

文字列をエコーするときは、中括弧は引用符で囲まれていないため、最後の中括弧に変数拡張を引用してくださいecho

set variable = "middle"
set string = 'echo ${ENVVAR}_'$variable'_end'
echo "$string"

結果csh:

echo ${ENVVAR}_middle_end

おすすめ記事