2016-12-10 4 views
1

MacOSでゼロディスクを使用しているときに、diskutilコマンドのプロセス進捗値を取得したいとします。端末の動的出力をファイルにリダイレクト

私は、端末上のコマンドの下に実行します。

Started erase on disk2 
    [ - 0%..10%......................................... ] 15% 
    ... 

しかし、私はコマンドでファイルに結果の文字列を出力リレーとき::プログレス値と

diskutil zerodisk disk2 

そして出力

diskutil zerodisk disk2 > output.txt 

ファイルouput.txtの内容に進捗値がありません:

Started erase on disk2 
    Finished erase on disk2 

誰でも私にその理由を教えてもらえますか?消去進捗値を取得する方法はありますか?

+0

STDERRに書き込んでいますか? 'diskutil zerodisk disk2> output.txt 2>&1'を試してください。そのようなプログレスバーの場合、行全体を「バックスペース」して、それを再描画することができると思います。それで、書き込み、消去、書き込み、消去の順です... – varlogtim

答えて

0

シェルのI/Oをリダイレクトすると、多くのアプリケーションの動作が変更されます。干渉されることなく、端末への出力のすべてをキャプチャするscriptを使用します。

script 
diskutil zerodisk disk2 
exit 

出力はtypescriptという名前のファイルになります。もしscript command-line argumentsを使用して、例えば、

script redirect.txt diskutil zerodisk disk2 
redirect.txt

得られたキャリッジリターンを含む端末に送信全て文字を含むことを変更することができます。

+0

これはうまくいきました!どうもありがとうございます! – DangNguyen

関連する問題