を使用するbashスクリプトがありますdd
。問題は、ddが私のスクリプトの出力を混乱させる多くの出力を生成することです。周辺を検索してみたら解決策を見つけました。
dd if=boot1h of="/dev/r$temp1" >& /dev/null
選択肢はありますか、それとも/dev/null
唯一の方法でリダイレクトしますか?
答え1
次に追加status=none
:
dd if=boot1h of="/dev/r$temp1" status=none
'status=LEVEL' Transfer information is normally output to stderr upon receipt of the 'INFO' signal or when 'dd' exits. Specifying LEVEL will adjust the amount of information printed, with the last LEVEL specified taking precedence. 'none' Do not print any informational or warning messages to stderr. Error messages are output as normal. 'noxfer' Do not print the final transfer rate and volume statistics that normally make up the last status line. 'progress' Print the transfer rate and volume statistics on stderr, when processing each input block. Statistics are output on a single line at most once every second, but updates can be delayed when waiting on I/O.
答え2
dd(1)
マニュアルページから:
status=noxfer
suppress transfer statistics
したがって:
dd if=boot1h of="/dev/r$temp1" status=noxfer
これはまだ出力されます
0+1 records in
0+1 records out
シャットダウン時にガベージを作成するため、dd
データシンクロにリダイレクトするのは実際には唯一のオプションです。
答え3
後で参照できるように:
dd出力を抑制するには、次のようにstderrを/ dev / nullに完全にリダイレクトします。
dd if=/dev/urandom of=sample.txt bs=5MB count=1 2> /dev/null
たとえば、bashでtimeコマンドを使用してプロセス時間を測定し、ddから生成された出力を取得せずに結果を変数に割り当てたい場合、この方法はうまく機能します。
引用:http://www.unix.com/shell-programming-and-scripting/131624-how-suppress-dd-output.html
答え4
このような機能は、最新バージョンのBASHおよびZSHでも機能します。
dd if=/path/to/file of=/path/to/another_file bs=1M count=1 &> /dev/null
PSこれは私が実行したものの一例です。