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

标签 linux bash shell ssh

一旦我将脚本发送到后台,我就无法从 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/

相关文章:

r - knitr 引擎=bash。想要为每个 block 单独设置工作目录

linux - 电力线不显示特殊符号

bash - 将变量从 shell 脚本传递到 applescript

c - Linux内核中的CTR模式

linux column 命令或其他——在输出前需要一些填充

regex - 根据 Bash 中的模式重命名目录

bash - 有没有办法从 bash 中提取 pdf 的内容?

linux - RRD 不适用于 shell 脚本

linux - 信息命令和手册页

linux - 配置 knotify 以执行自定义命令