SSHコマンド実行の出力をローカルに作成するときにホスト名と[sudo]行を抑制できますか?
たとえば、サーバーにSSHで接続して実行すると、sudo <command>
次のように表示されます。
<hostname>
[sudo] password for user:
これは出力を書き込むファイルに書き込まれます。使っているsudo <command> 2>&1 /dev/null
のに線が消えませんね。
ベストアンサー1
sudo <command> 2>&1 /dev/null
何もリダイレクトされません/dev/null
。代わりに次のようになります。
- 2つのパラメータを呼び出す
sudo
:<command>
と/dev/null
。 2番目の項目は<command>
実行時に渡されます。 - エラーメッセージを標準出力にリダイレクトします。
以下は簡単な試みです。
$ sudo ls 2>&1 /dev/null
/dev/null
参照:あなたが得た結果ls /dev/null
。ただし、次のことができます。
$ sudo ls >ls_output.txt 2>/dev/null
これは次のことを行います。
sudo
1つの引数として呼び出されますls
。- 標準出力にリダイレクトします
ls_output.txt
。 - 標準エラーにリダイレクトします
/dev/null
。
上記のコマンドを使用すると、現在の作業ディレクトリの内容が一覧表示され、ls_output.txt
その中にデータはありません。stderr