0

私はこのようなスクリプトを持っていますか?

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

メインシェルは情報を出力しませんでした。サブコマンドから出力を取得するにはどうすればよいですか?

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ますが、現在のシェルでは使用できません。あなたの後のコマンド-cは空です。または、ある$command場合は前の値です。

于 2012-07-02T03:09:34.390 に答える