如何编写 OS X 的 Shell 脚本以通过 SSH 登录远程服务器并执行命令

如何编写 OS X 的 Shell 脚本以通过 SSH 登录远程服务器并执行命令

这看起来很简单……我正在尝试编写一个脚本,只需在 OS X 中双击即可。该脚本是通过 SSH 登录到远程服务器,运行 git commit 并退出。当我将命令复制/粘贴到终端时,它们可以工作,但是当我将它们保存在 .command 文件中时,它似乎连接了,但随后挂起了,如果我在打开的终端窗口中输入 exit,脚本将继续从中断的地方继续。

脚本/命令只是:

#!/bin/sh
echo "**** committing remote changes on remote ****"
ssh [email protected]
cd /home/username/git/repo/
git commit -m "remote server commit"
exit

我是编写此类脚本的新手,所以这可能是我所忽略的一些非常明显的东西(因为读过这里的许多问答,有人肯定会问,是的,我的 SSH 密钥设置正确,复制/粘贴此代码可以完美运行)。

我认为这不相关,但我要访问的服务器是带有被监禁的 shell 的 BlueHost/HostMonster 共享网络主机。

答案1

还没有尝试过从 Mac 编写脚本,但是可以尝试这个: ssh [email protected] 'cd /home/username/git/repo/ && git commit -m "remote server commit"'

相关内容