cron运行的脚本中意外标记“>”附近的语法错误


0

我正在为Mac OS / Linux编写一个shell脚本。该脚本由cron作业运行。我正在尝试将stdout和stderr附加到日志文件中。我的命令(简化)看起来像这样(第5行myscript.sh):

mycommand &>> log.txt

我收到以下错误:

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

但是,如果我将命令更改为:

mycommand &> log.txt

我没有收到任何错误,但文件被覆盖(未附加)。

任何想法为什么&>>不起作用但&>有效?


@KamilMaciorowski我显示的命令是在myscript.sh的第5行
Caner

Answers:


3

cron使用sh并且您尝试使用的重定向语法是一个Bash扩展(并且是一个相当新的扩展;仅支持旧版本的Bash &>)。

将标准输出和标准错误附加到文件的可移植方法是

mycommand >>log.txt 2>&1

优秀,这工作,也解释了行为!
Caner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.