&引用;集合-x";在bash和ksh中,不会为cron作业生成输出

&引用;集合-x";在bash和ksh中,不会为cron作业生成输出,bash,cron,ksh,Bash,Cron,Ksh,我有一个脚本,我正在调试 该脚本完全可以从命令行运行,但在cron中使用相同的参数调用时,会出现无法传输文件的特定于应用程序的错误 为了调试这个问题,我在脚本的第二行添加了set-x。现在,当我从命令行运行它时,我得到了很多详细的调试输出 从cron中,我得到了原始的特定于应用程序的错误,而没有所有调试输出 我已尝试将shebang行从#更改为/bin/ksh至#/bin/ksh-x,我甚至尝试使用/bin/ksh-x/usr/local/bin/theapp运行cron作业 我没有得到调试输出

我有一个脚本,我正在调试

该脚本完全可以从命令行运行,但在cron中使用相同的参数调用时,会出现无法传输文件的特定于应用程序的错误

为了调试这个问题,我在脚本的第二行添加了
set-x
。现在,当我从命令行运行它时,我得到了很多详细的调试输出

从cron中,我得到了原始的特定于应用程序的错误,而没有所有调试输出

我已尝试将shebang行从
#更改为/bin/ksh
#/bin/ksh-x
,我甚至尝试使用
/bin/ksh-x/usr/local/bin/theapp
运行cron作业

我没有得到调试输出

我还尝试通过将
2>&1
附加到cron作业来重定向STDERR

我是否错过了一些获取调试输出的cron魔法

更新:@barmar是正确的,我应该发布我的cron行:

*/5****/bin/bash-x/usr/local/bin/myapp 2>&1
cron行:

*/5****/bin/bash-x/usr/local/bin/myapp 2>&1

即使将STDERR重定向到STDOUT,也不会生成调试输出

我最终放弃了,并做到了:

*/5****/bin/bash-x/usr/local/bin/myapp>/tmp/cron.log 2>&1

输出显示在日志中


Meh.

这与
bash
有什么关系?您是否也尝试将其从
ksh
脚本更改为
bash
脚本?您是否查看了电子邮件?任何未重定向的输出都将通过邮件发送给您。我刚刚使用
/path/to/script>script.out 2>script.err进行了测试。
-x
输出在
脚本中。err
。请将整个crontab行添加到问题中,我们需要确保您使用了正确的重定向语法。我知道@rojomoke。任何未重定向的输出都将通过电子邮件发送给您。所以,如果STDERR被重定向到STDOUT,它应该通过电子邮件发送给我。事实并非如此。我能在这个服务器上看到STDERR的唯一方法是将它重定向到一个文件。我想这可能是Ubuntu的怪异之处。不管怎样,我都得到了我需要的。谢谢