【发布时间】:2019-01-16 05:37:01
【问题描述】:
我试图在 bash 脚本中捕获远程执行命令的输出,以便脚本可以对结果进行一些处理,但对结果感到困惑:
$ COMMAND="ssh localhost \"echo 'hello'\""
$ OUTPUT=$($COMMAND)
bash: echo 'hello': command not found
使用反引号会产生稍微不同的结果:
$ `ssh localhost "echo 'hello'"`
-bash: hello: command not found
但是该命令在没有任何包装器的情况下按我的预期运行:
$ ssh localhost "echo 'hello'"
hello
我怀疑我误解了关于如何执行这些命令的一些非常基本的内容。我在这里做错了什么,还是有更好的方法来做到这一点?
【问题讨论】: