GNU/Linux >> Linux の 問題 >  >> Linux

STDOUT を使用しない tee コマンドの代替

パイプを戻してから /dev/zero にパイプすることを回避する別のオプション です

sudo command | sudo dd of=FILENAME

dd 解決策はまだジャンクを stderr に出力します:

$ ls | sudo dd of=FILENAME
0+1 records in
0+1 records out
459 bytes (459 B) copied, 8.2492e-05 s, 5.6 MB/s

status を使用して回避できます オプション:

command | sudo dd status=none of=FILENAME

別の興味深い可能性 (とにかく Linux の場合):

command | sudo cp /dev/stdin FILENAME

TTY 入力をファイルにコピーするために、私はよくこれを行います:

sudo cp /dev/tty FILENAME

ティーに stdout を抑制するオプションがないのは残念です。


スクリプトを使用できます。つまりこのようなものを $HOME/bin/stee に入れます 、 0tee または同様の:

#!/bin/bash

argv=
while [[ "$1" =~ ^- ]]; do
    argv+=" $1"
    shift
done

sudo tee $argv "$1" > /dev/null

<ストライク>

#!/bin/bash

sudo tee "[email protected]" > /dev/null

実行可能にする:

<ブロック引用>

$ chmod 755 stee

次のようにします:

<ブロック引用>

$ ls -la | stee -a /root/foo


Linux
  1. Linuxlsコマンドをマスターする

  2. diffコマンドの概要

  3. ティーコマンドはどのように機能しますか?

  1. Mac 用の Linux の updatedb コマンドに相当するものは何ですか?

  2. 端末で利用可能なワイヤレス アクセス ポイントを確認しますか?

  3. パスワードなしでsshコマンドをsudoコマンドをリモートで実行する方法

  1. 同じ行にパスワードを指定して、Sudoコマンドを実行しますか?

  2. 長いスリープコールの後、Sudoパスワードを再入力せずにSudoコマンドを実行しますか?

  3. sudo なしで Linux のシリアル番号を抽出する