【问题标题】:Running a shell script on a remote server在远程服务器上运行 shell 脚本
【发布时间】:2012-10-20 22:06:39
【问题描述】:

我正在尝试在远程服务器上运行 .sh 脚本并收到以下错误消息。

真的不知道我做错了什么。

我使用的命令是: $ssh user@remoteserver 待执行文件路径/Test.sh

返回错误:ksh: syntax error: `(' unexpected

任何指针都会很棒:)

【问题讨论】:

  • 您正在尝试执行存储在远程站点的脚本。您尝试执行的 shell 脚本存在语法错误。要解决此问题,您需要获取脚本代码并进行必要的修改。
  • 我一开始也是这么想的。但是远程脚本只是一个简单的测试脚本,当我在远程服务器上运行时,它运行良好。因此我的困惑:(
  • 它可能是特定于 shell 的。可能脚本不是为 k shell 编写的,它用于运行脚本。
  • 如果是特定于 shell 的问题,则将要使用的 shell 名称添加到命令的前面,例如 bash path/to/script,或者,确保脚本具有适当的 #! 作为第一行,以便自动选择正确的外壳。
  • 我在脚本开头包含了 #!/bin/ksh 行

标签: unix ssh remote-server


【解决方案1】:

如果机器A是一个Windows机器,你可以使用带有-m参数的Plink(PuTTY的一部分),它会在远程服务器上执行本地脚本。

plink root@MachineB -m local_script.sh

如果机器 A 是基于 Unix 的系统,您可以使用:

ssh root@MachineB 'bash -s' < local_script.sh

您不必将脚本复制到远程服务器来运行它。

来源: How to use SSH to run a shell script on a remote machine?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    相关资源
    最近更新 更多