2016-04-26 9 views
0

シェルスクリプトではまだ新しいです。シェル内の変数にASCII値を代入する

*変数に*印を付けたいと思います。今書く私はちょうどでそれを印刷しています:

echo -e "\052" 

は、変数にその値を代入する方法はありますか?

答えて

3

コマンドの出力をキャプチャする$(cmd)または`cmd`を使用してください。 $(...)フォームは、ネストする方が簡単なので好ましいです。

var=$(echo -e "\052") 

シェルは、$'...'のエスケープシーケンスを解釈します。これはドル記号を前に付けた単一引用符です。

var=$'\052' 

もちろん、アスタリスクを直接書き込むこともできます。ワイルドカードの拡張を防ぐために引用してください。

var='*' 

印刷すると、make sure to quote the variableとなります。変数を使用するときはいつでも二重引用符を入力しなければならないのは面倒ですが、通常は正しいことです。

echo "$var" # yes 
echo $var  # no 
+2

最高のアドバイスは下から上に向かっています。 –

0

バッククォートを使用すると、コマンドの出力をキャプチャできます。多くのシェルは、より洗練された構文$()を持っています。しかし、バックティックは最も移植性があります。

var=`echo -e "\052"` 
関連する問題