ssh和bash运行命令的奇怪语法

鲍克斯

我对shell / bash脚本非常陌生,并且正在OSX上编写脚本来自动化一些繁琐的工作。我正在尝试使用来在远程主机上运行脚本的一部分ssh两台机器上都有一个通用脚本,我称之为ascript在两台计算机上,此脚本都在/ usr / local / bin中。

我知道我需要ascript远程主机上的完整路径来像这样运行它:

ssh user@otherHost bash -c "/usr/local/bin/ascript --FlagToDoSomething"

但是,我发现--FlagToDoSomething只有以以下方式在脚本中编写该代码才能正确运行:

ssh user@otherHost bash -c " /usr/local/bin/ascript --FlagToDoSomething"

(即,在开引号后需要换行),我在终端窗口中收到一条消息,说bash: -c: option requires an argument,但其余部分继续运行,并且得到了期望的输出。如果我不这样做,我将获得输出,就像我刚刚键入ascript并按Enter键(因此是用法信息)一样。

如果我删除bash -c它,它可以正常工作,但我只是这样做,因为出于某种原因:ssh user@otherHost "output=$(/usr/local/bin/ascript --FlagToDoSomething; echo \$output)"尝试在本地主机上运行此功能,这会导致一些时髦的输出。而且,在终止ssh连接之前,我需要在远程主机上运行多个命令。

谢谢!

彼得·科德斯
ssh user@otherHost "output=$(/usr/local/bin/ascript --FlagToDoSomething; echo \$output)"

那该怎么办?$output尚未设置,因为回声在内$(command substitution)

另外,$()由外壳程序在双引号内进行扩展。这就是为什么它在本地运行。使用单引号避免出现这种情况。

也许你想要

output=$(ssh u@oh '/usr/local/bin/ascript --FlagToDoSomething')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在bash脚本中同时运行ssh命令和另一个命令

来自分类Dev

通过SSH运行bash命令时出错

来自分类Dev

自动化SSH和运行命令

来自分类Dev

猫命令中的奇怪语法

来自分类Dev

在bash中包装sudo和ssh命令

来自分类Dev

在 bash 中包装 sudo 和 ssh 命令

来自分类Dev

在 bash 中运行命令和参数

来自分类Dev

通过SSH运行多行bash命令不起作用

来自分类Dev

通过ssh运行具有多行输入的bash命令

来自分类Dev

简单的CREATE TABLE命令中的奇怪语法错误-PostgreSQL,MySQL和SQLite

来自分类Dev

单线bash命令可以以root身份正常运行,但不能以sudo身份运行[语法问题]

来自分类Dev

在&符号后和远程ssh会话中运行命令

来自分类Dev

使用ssh使用参数和shell运行远程命令

来自分类Dev

ssh如何运行命令?

来自分类Dev

在递归ssh命令中引用bash和perl

来自分类Dev

使用远程ssh命令和已逃逸的bash转义awk

来自分类Dev

交互式ssh和mysql命令的Bash脚本

来自分类Dev

Git for Windows中的Bash:使用带有args的CMD.exe / C运行命令时很奇怪

来自分类Dev

Git for Windows中的Bash:使用带有args的CMD.exe / C运行命令时很奇怪

来自分类Dev

bash命令的语法错误

来自分类Dev

使用BASH通过SSH启动和终止TAIL运行

来自分类Dev

使用--rcfile和-c在新的bash shell中运行命令

来自分类Dev

如何在python中运行和处理bash命令?

来自分类Dev

运行带有参数和重定向命令的Bash脚本

来自分类Dev

Linux:ssh命令可在bash脚本之外运行,但不能在脚本内运行?

来自分类Dev

在PHP脚本中运行系统bash命令-语法错误:意外的T_LNUMBER

来自分类Dev

从松弛运行bash命令

来自分类Dev

通过ssh奇怪的行为执行远程命令

来自分类Dev

在Windows 7、64位上安装Rcpp和RInside时出现奇怪的错误mkdir“命令的语法不正确”错误

Related 相关文章

  1. 1

    在bash脚本中同时运行ssh命令和另一个命令

  2. 2

    通过SSH运行bash命令时出错

  3. 3

    自动化SSH和运行命令

  4. 4

    猫命令中的奇怪语法

  5. 5

    在bash中包装sudo和ssh命令

  6. 6

    在 bash 中包装 sudo 和 ssh 命令

  7. 7

    在 bash 中运行命令和参数

  8. 8

    通过SSH运行多行bash命令不起作用

  9. 9

    通过ssh运行具有多行输入的bash命令

  10. 10

    简单的CREATE TABLE命令中的奇怪语法错误-PostgreSQL,MySQL和SQLite

  11. 11

    单线bash命令可以以root身份正常运行,但不能以sudo身份运行[语法问题]

  12. 12

    在&符号后和远程ssh会话中运行命令

  13. 13

    使用ssh使用参数和shell运行远程命令

  14. 14

    ssh如何运行命令?

  15. 15

    在递归ssh命令中引用bash和perl

  16. 16

    使用远程ssh命令和已逃逸的bash转义awk

  17. 17

    交互式ssh和mysql命令的Bash脚本

  18. 18

    Git for Windows中的Bash:使用带有args的CMD.exe / C运行命令时很奇怪

  19. 19

    Git for Windows中的Bash:使用带有args的CMD.exe / C运行命令时很奇怪

  20. 20

    bash命令的语法错误

  21. 21

    使用BASH通过SSH启动和终止TAIL运行

  22. 22

    使用--rcfile和-c在新的bash shell中运行命令

  23. 23

    如何在python中运行和处理bash命令?

  24. 24

    运行带有参数和重定向命令的Bash脚本

  25. 25

    Linux:ssh命令可在bash脚本之外运行,但不能在脚本内运行?

  26. 26

    在PHP脚本中运行系统bash命令-语法错误:意外的T_LNUMBER

  27. 27

    从松弛运行bash命令

  28. 28

    通过ssh奇怪的行为执行远程命令

  29. 29

    在Windows 7、64位上安装Rcpp和RInside时出现奇怪的错误mkdir“命令的语法不正确”错误

热门标签

归档