使用 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

(请注意,$这里有一个命令行提示符 用于指示新行的开始,而不是命令的一部分)。

相关内容