stdin と stderr の両方をより短い方法でリダイレクトするにはどうすればよいですか? 以下の方法が間違っている場合は修正してください。また、すぐにそれを行う他の方法を提案してください。
command <file1.txt 2>file2.txt
あなたが本当に意味がstdin
ありstderr
、「より短い方法」があるとは思わない場合。これにいくつかの構文シュガーがあったとしても(非常にありそうもない)、あなたの例は異なるファイルを利用したいことを示しているので、とにかく各リダイレクトを明示的に指定する必要があります...
ただし、stdout
および(それらを同じファイルにstderr
リダイレクトする場合)については、次のように入力できます。
command &> file.txt
あなたのやり方は正しいです。stdin と stderr の両方を同じファイルにリダイレクトすることはできません。ただし、stdout と stderr を同じファイルにリダイレクトできます。
command >file.txt 2>&1
「短い」方法自体は実際にはありません(短いということは、文字数が少ないことを意味すると思います)。
ただし、代わりに次のものを使用できます。
cat file1.txt | command 2> file2.txt