我对脚本编写很陌生,我对这个命令有点挣扎,也许有人可以提供帮助
当我使用这个命令时,一切正常
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
(请注意,$
这里有一个命令行提示符
用于指示新行的开始,而不是命令的一部分)。