linux - 在远程和 "command not found"上执行bash脚本

标签 linux bash ssh package

我正在尝试使用 ssh 执行 bash 脚本。

假设有机器 A 和 B。bash 脚本位于 A 上,并且它有一个使用 A 中本地安装的软件包的命令。该软件包未安装在 B 中。当 sshing 到 B 时,我尝试从 A 运行该脚本。但我不断收到“找不到命令”的消息。

这就是我所做的:

ssh username@server 'bash -s' < local/path/to/file

我想知道是不是因为我在服务器B上没有安装该软件包?有什么方法可以使用 B 执行脚本,而无需在其上安装包(我的帐户没有对该目录的写入权限)?

最佳答案

理论上,您可以通过大量的努力将整个软件嵌入到您的脚本中,并将其传递到 SSH 标准输入。但是,在正确保护服务器(甚至可能是不同的平台)和具有大量依赖项的已编译程序的情况下,这可能是一个棘手的项目,也可能是一个多年的项目。

“包”只是一个没有依赖项的单行 shell 脚本,您只需将脚本的内容复制到您的脚本中即可。但绝大多数情况都会变得更加困难。

关于linux - 在远程和 "command not found"上执行bash脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56555312/

相关文章:

c++ - 为什么 const_cast 不修改调用函数中的值?

c - 使用 C 和 Python 在终端中获取随机字符

linux - Bash - 列出所有子目录中目录名称在文件之前的程序

php - 在 CodeIgniter Controller 中建立 SSH 连接

linux - scp2通过批处理脚本从Linux到Windows,*.*文件掩码问题

git - 如何从 HTTPS 迁移到 SSH github

java - tomcat8 和 eclipse 火星噩梦

git - 如何在 gitrevisions <text> 中使用大括号扩展

ruby - 使用 Cygwin 运行 Ruby gem

linux - 在 shell 脚本中检查日期是上午还是下午并采取相应措施