出力(エラーまたは成功)をファイルに書き込もうとしています。他のコマンドを使用すると問題なくこれを実行できますが、次のコマンドは端末にのみ記録され、ファイルには記録されません。端末で直接実行すると、画面に出力が表示され、ファイルは生成されますが空になります。
コマンドは
sudo ip r add default via 192.168.1.254 > outfile.txt >&1
sudo ip r add default via 192.168.1.254 | tee -a outfile.txt
sudo /sbin/route add default gw 192.168.1.254 | sudo tee -a outfile.txt
これは起動スクリプト(ヘッドレス設定)に表示されます。端末内で直接起動条件をシミュレートすることはできないため、直接実行しても必ずしも起動条件で発生する結果が出力されるわけではありません。つまり、失敗する理由と原因を把握できないという意味です。
端末で直接実行したときの出力は、これらの条件で予想されるものですRTNETLINK answers: Network is unreachable
。sudo ip r add default via 192.168.1.254
SIOCADDRT: Network is unreachable
sudo route add default gw 192.168.1.254
ベストアンサー1
バッシュ用
ip r add default via 192.168.1.254 &> outfile.txt
または他のシェルの標準形式:
ip r add default via 192.168.1.254 >outfile.txt 2>&1
からman bash
:
Redirecting Standard Output and Standard Error
This construct allows both the standard output (file descriptor 1) and
the standard error output (file descriptor 2) to be redirected to the
file whose name is the expansion of word.
There are two formats for redirecting standard output and standard er‐
ror:
&>word
and
>&word
Of the two forms, the first is preferred. This is semantically equiva‐
lent to
>word 2>&1