echoコマンドで変数を使用する

echoコマンドで変数を使用する

私はスクリプトに初めてアクセスし、このコマンドを使用するのが少し難しいです。誰かが助けることができるでしょう。

このコマンドを使用すると、すべてがうまく機能します。

titi=`echo 'scale=6; 10/65535' | bc -l | awk '{printf "%.6f\n", $0}'
echo "titi = $titi "

わかりました。

titi = 0.000152

完璧

ただし、変数を使用しようとするとエラーが発生します。

toto=10
titi=`echo 'scale=6; $toto/65535' | bc -l | awk '{printf "%.6f\n", $0}'` 
echo "titi = $titi "

結果

(standard_in) 1: illegal character: $

明らかに、コマンドに変数を書く方法は間違っていますが、それを書く方法がわかりません。

誰でも私を助けることができますか?

答え1

変数を展開してメモするには、二重引用符を使用してください。$()コマンドの置き換えにはバックティックを使用することをお勧めします。。それが必要です:

$ toto=10
$ titi=$(echo "scale=6; $toto/65535" | bc -l | awk '{printf "%.6f\n", $0}')
$ echo "titi = $titi "
titi = 0.000152

(参考$としてコマンドラインプロンプト コマンドの一部ではなく、新しい行の開始を示すために使用されます。

関連情報