使用bash执行SSH会提示输入密码

时间:2017-06-23 18:08:05

标签: linux bash shell ssh

将脚本发送到后台后,我遇到了从shell脚本运行SSH的问题。错误是“预期更多令牌”我在线阅读我可以在bash命令中嵌套SSH调用,如下所示,但这样做会提示输入密码,即使我输入正确的密码(我不想这样做)它不会起作用。

这会从命令行提示输入密码

bash -c "ssh NJ\\NJDSSINFADM@dc01nj2dwifdv02.nj.core.him pmcmds DFD_ETIME wf_TEST"

这可以从前台的命令行或脚本开始,但不能在我在后台运行脚本时使用

ssh NJ\\NJDSSINFADM@dc01nj2dwifdv02.nj.core.him pmcmds DFD_ETIME wf_TEST

1 个答案:

答案 0 :(得分:0)

不要使用let为字符串赋值变量。它将值视为算术表达式,并且您的值不应该以这种方式处理。

jstat=$(echo $jstat|sed -e 's/[^0-9]//g')

您也不需要使用外部命令从字符串中删除字符,您可以使用参数扩展运算符进行替换。

jstat=${jstat//[^0-9]/}

有关此语法的说明,请参阅Bash Manual