我最近从2>&1 >>转到了&>>
是否有一种使用/bin/bash作为shell的方法?默认情况下,它使用/bin/sh,手册页没有指示如何使用其他任何内容。即使在crontab中,也可以使用SHELL=/bin/bash
造成我的主要问题是:
echo "do-smth.sh &>> logfile" | at now + 8 hours他们没有将stdout和stderr附加到我的日志文件中,而是完全迷路了,甚至连电子邮件都没有。
这个解决方法没有起作用,理由是意外的重定向:
echo "bash <<< \"do-smth.sh &>> logfile\"" | at now + 8 hours我使用Linux,Ubuntu11.10风格,这不重要。
发布于 2012-02-01 16:27:56
您的问题是,您的命令的编写方式是sh试图处理下面的字符串重定向,并且(在Ubuntu中链接到dash,而不是bash )它没有<<<操作符。你可能想要这个:
echo 'bash -c "do-smth.sh &>>logfile"' | at now + 8 hours发布于 2018-01-25 13:33:10
为什么不在cron运行的脚本顶部使用#!/bin/bash呢?如果使用将要使用的脚本创建目录,则可以将其置于源代码管理之下,如果无法访问此硬盘驱动器,则更容易恢复。您还可以用木偶、厨师或ansible安装这些脚本,只需在crontab中添加单行条目就可以运行这些脚本。
https://unix.stackexchange.com/questions/30573
复制相似问题