0

我有这样的脚本?

command='scp xxx 192.168.1.23:/tmp'
su - nobody -c "$command"

主外壳没有打印任何信息。如何从 sub 命令获取输出?

4

2 回答 2

1

您只需重定向相应的输出通道即可获得其所有输出:

command='scp ... '
su - nobody -c "$command" > file

或者

var=$(su - nobody -c "$command")

但是如果你什么也没看到,可能是 scp 的诊断输出被禁用了?您的真实命令中是否有“-q”选项?

于 2012-07-02T21:36:13.003 回答
0

你实际上并没有运行 scp。当您使用

VAR=value cmd ...

语法,VAR=value设置进入环境,cmd但在当前 shell 中不可用。你之后的命令-c是空的,或者$command如果有的话的前一个值。

于 2012-07-02T03:09:34.390 回答