標準エラーと出力を生成するコマンド

標準エラーと出力を生成するコマンド

Bashスクリプトのトラブルシューティングを実行したいと思います。これら2つを生成しstdoutstderr使用できる短いコマンドはありますか2>&1?些細なようでしたら申し訳ありません。でも今は思い出せません。

答え1

簡単な方法は、次をls使用して物理ファイルと仮想ファイルを一覧表示することです。

ls . *.blah

これは次のように仮定します。はい作業ディレクトリに表示されるファイルといいえ1で終わるファイルがあります。.blah


1. ...あなたがこれをしても、私たちはあなたを判断しません。

答え2

stdout次に送信するstderrサブシェルを作成します。

(echo STDOUT && echo STDERR >&2) 

それが動作することを証明するには:

(echo STDOUT && echo STDERR >&2) > STDOUT.txt 2> STDERR.txt

STDOUT.txtこれにより、それぞれとという単語を含むファイルが作成されます。STDERR.txtSTDOUTSTDERR

答え3

ls / /x
df / /x
wc / /etc/passwd
od / /dev/null

標準出力への書き込み保証今後標準エラー:

(w;/) # Bourne/csh like shells only.
sh -c 'w;/'
'time' w

答え4

後で使用するために関数を書くことができます。

gen_stdout_stderr() {                                                           
    printf "%s\n" "STDERR" >&2                                                  
    printf "%s\n" "STDOUT"                                                      
}

それから:

$ gen_stdout_stderr 
STDERR
STDOUT

関連情報