在变量Bash中使用echo

时间:2013-08-18 15:12:55

标签: bash variables echo

我想使用下面的行来更改密码。当我输入实际值而不是变量时,命令可以正常工作。

echo -e "$sshpass\n$sshpass | (passwd --stdin root)"

$sshpass是一个包含密码的变量。

我尝试了以下操作,使命令无效运行:

echo -e "/$sshpass\n/$sshpass | (passwd --stdin root)"
echo -e "$sshpass\n$sshpass | (passwd --stdin root)"
echo -e "'$sshpass'\n/'$sshpass' | (passwd --stdin root)"

我怎样才能让它发挥作用?

2 个答案:

答案 0 :(得分:5)

不要在双引号中包含其余的管道。

。不需要子shell(括号)
echo -e "$sshpass\n$sshpass" | passwd --stdin root

答案 1 :(得分:1)

使用此:

echo -e "$sshpass\n$sshpass" | passwd --stdin root