sed 在 crontab 中添加新的注释行

sed adding new comment lines in crontab

我有一个包含以下行的脚本:

crontab -l |sed -e 's=\(^.*/usr/local/nextone/bin/setdbrole.sh$\)=#=' | crontab -

每次执行时都会在 crontab 的一行中添加一个“#”。

但是每次执行该行时,注释行都会添加到 crontab 中,如下所示:

# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.2pG8HV installed on Tue May 12 13:02:16 2015)

所以我的 crontab 在多次执行该脚本后充满了数百行注释。

我怎样才能让它停止?

根据您的 crontab 版本,这些行会添加到 crontab -l 输出的开头。然后要求 sed 删除前两行:

crontab -l | sed -e '1,2d;s=\(^.*/usr/local/nextone/bin/setdbrole.sh$\)=#=' | crontab -