将脚本发送到后台后,我遇到了从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
答案 0 :(得分:0)
不要使用let
为字符串赋值变量。它将值视为算术表达式,并且您的值不应该以这种方式处理。
jstat=$(echo $jstat|sed -e 's/[^0-9]//g')
您也不需要使用外部命令从字符串中删除字符,您可以使用参数扩展运算符进行替换。
jstat=${jstat//[^0-9]/}
有关此语法的说明,请参阅Bash Manual。