私はbashスクリプトコードを扱っていますが、 "&>>"演算子を見つけました。私はその目的を理解していませんでした。だから私は言及した。http://www.gnu.org/software/bash/manual/html_node/Redirections.html。
と意味上同じです>> file 2>&1
。
以下は私のシェルの出力です。
# echo $SHELL
/bin/bash
# echo "hello" &>> file1
bash: syntax error near unexpected token `>'
そして
# echo "hello" >> file1 2>&1
# cat file1
hello
質問: - なぜエラーが発生するのですかbash: syntax error near unexpected token '>'
?
[編集する]:- Bash バージョン 3.2.25(1)-リリース(x86_64-redhat-linux-gnu)
答え1
以前のバージョンのbash(3.2.25)を使用しているため、対応するエラーが発生します。
Bash4から
&>>TARGET
と同等のものがあります>> TARGET 2>&1
。
源泉:リダイレクト出力の追加
したがって、アップグレードを検討する必要があります。私はbashバージョン4.2.45を使用していますが、echo "hello" &>> file1
それは私にとって魅力的です。
答え2
この機能はbash 4.0アルファで導入されているため、4.0以上のすべてのbashで使用できます。
http://git.savannah.gnu.org/cgit/bash.git/tree/CHANGES?id=0001803f0b9523c94fa2ede48eaecb047fef4524——ライン976。
(元の4.0-alphaチェンジログでは、演算子をとして誤って報告しました>>&
。マニュアルページに正しい1が表示され、&>>
タイプミスが4.1で修正されました。)