【问题标题】:Unable to run ssh inside shell script无法在 shell 脚本中运行 ssh
【发布时间】:2012-06-07 03:09:47
【问题描述】:

我可以运行ssh rach@kamel,但如果我尝试将其放入bash script,我会收到找不到命令。

这是有问题的 bash 脚本

#!/bin/bash
ssh rach@kamel

我也尝试使用 kamel ip 地址,但仍然是同样的问题。

更新这是确切消息

$ ./devBuild.sh
: No such file or directory../
: command not found

更新cat -A devBuild.sh的内容

$ cat -A devBuild.sh
#!/bin/bash^M$
cd ../^M$
ssh adoshi@10.247.39.142 ^M$

更新:现在开始

$ ./devBuild.sh : hostname nor servname provided, or not known

【问题讨论】:

  • 如何运行脚本?看起来该脚本与您的交互式 shell 没有相同的 $PATH
  • 奇怪。尝试将ssh 替换为完整路径,即type ssh 的输出(通常为/usr/bin/ssh)。
  • @choroba:做到了,但仍然找不到相同的命令...
  • 你能显示确切的错误信息吗?
  • @choroba:用消息更新问题。

标签: bash unix ssh


【解决方案1】:

^M$ 是 DOS line-end 的症状,修复它,你应该会很好。

【讨论】:

  • 它应该可以解决问题,但现在我找不到主机名或服务,但我再次可以直接从提示符执行 ssh,它工作正常......
  • 这意味着你的 ssh 行的末尾有一些东西被标记为主机名的一部分,你应该仔细查看。或者如果你不知道那里有什么,在它后面加一个分号,比如 ssh user@hostname;
【解决方案2】:

您是否有任何机会将行结尾弄错了?有时会发生在行尾有一个\r\n 而不仅仅是\n。这使得 shebang (#!) 线路功能失调。

你能把cat -A dev.sh的结果贴出来,尤其是第一行吗?

【讨论】:

  • 用内容更新问题...,我应该提到正在修改 Windows 操作系统上的脚本并通过 cygwin 运行...
【解决方案3】:

你的脚本是可执行的吗?如果不使用 chmod +x dev.sh

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-01
    • 2017-09-09
    • 2019-02-17
    • 2023-03-14
    • 2023-03-04
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多