一旦我将脚本发送到后台,我就无法从 shell 脚本运行 SSH。错误是“需要更多 token ”我在网上读到我可以将 SSH 调用嵌套在 bash 命令中,如下所示,但这样做会提示输入密码,即使我输入了正确的密码(我不想输入)做)它不会工作。
这会从命令行提示输入密码
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
最佳答案
不要使用 let
给变量赋值字符串。它将值视为算术表达式,您的值不打算以这种方式处理。
jstat=$(echo $jstat|sed -e 's/[^0-9]//g')
你也不需要使用外部命令从字符串中删除字符,你可以使用参数扩展运算符进行替换。
jstat=${jstat//[^0-9]/}
参见 Bash Manual有关此语法的说明。
关于linux - 使用 bash 执行 SSH 提示输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44727571/