私はこのようなスクリプトを持っていますか?
command='scp xxx 192.168.1.23:/tmp'
su - nobody -c "$command"
メインシェルは情報を出力しませんでした。サブコマンドから出力を取得するにはどうすればよいですか?
対応する出力チャネルをリダイレクトするだけで、すべての出力を取得できます。
command='scp ... '
su - nobody -c "$command" > file
また
var=$(su - nobody -c "$command")
しかし、何も表示されない場合は、scp の診断出力が無効になっている可能性があります。実際のコマンドのどこかに「-q」オプションはありますか?
あなたは実際にscpを実行していません。を使用するときは、
VAR=value cmd ...
構文、VAR=value
設定はの環境に入りcmd
ますが、現在のシェルでは使用できません。あなたの後のコマンド-c
は空です。または、ある$command
場合は前の値です。