cron によって実行されるスクリプト内の予期しないトークン `>' の近くに構文エラーがあります

cron によって実行されるスクリプト内の予期しないトークン `>' の近くに構文エラーがあります

私はMac OS/Linux用のシェルスクリプトを書いています。スクリプトはcronジョブで実行されます。stdoutとstderrを追加するログ ファイルに出力します。私のコマンド (簡略化) は次のようになります ( の 5 行目myscript.sh):

mycommand &>> log.txt

次のエラーが発生します:

myscript.sh: line 5: syntax error near unexpected token `>

ただし、コマンドを次のように変更すると:

mycommand &> log.txt

エラーは発生しませんが、ファイルは上書きされます(追加されません)。

&>>動作しないのに動作する理由について何かご存知ですか&>?

答え1

cronは を使用して実行されsh、使用しようとしているリダイレクト構文は Bash 拡張機能です (しかも、かなり最近のものであり、古いバージョンの Bash は のみをサポートしています&>)。

標準出力と標準エラーをファイルに追加するポータブルな方法は

mycommand >>log.txt 2>&1

関連情報