我想在客户端使用resoures在远程服务器上执行命令(双方都是linux),例如:在客户端我有一个shell文件(例如:/home/john/helloworld.sh),我连接到远程服务器使用ssh,然后我想在远程服务器上运行此shell文件而不将其上传到此服务器
任何人都有解决这个问题的方法吗?
编辑:thanhk sehe,现在我可以从客户端运行shell文件,但我想运行一个c程序,无论如何都可以这样做?
答案 0 :(得分:3)
ssh user@remote sh - < mylocalscript.sh
直接在您的机器上测试:
echo ls | ssh localhost sh -
<强>更新强>
评论:与发行版无关的部署脚本有时采用的一种技巧是嵌入一个静态的独立映像(确保内核兼容):
<强> Live On Coliru 强>
通过执行
生成的base64数据gcc -static -static-libgcc -Os -g0 -x c - <<< 'int main() {puts("hello world");return 0;}' -o standalone
dd if=standalone | gzip | base64 -w240
答案 1 :(得分:0)
棘手且使用scp复制文件将是最明显的解决方案。但是,根据您在远程服务器上的访问级别,您可以查看SSHFS (Wikipedia link),这将允许您安装包含脚本的文件系统。