脚本注释
1.内容匹配行首注释
/bin/sed -i "s/^[^#].*jdfalcon_agent*/#&/g" /etc/crontab
#: s:替换
#: ^:开头匹配
#: [^#]:匹配非#
#: #&:中的&代表匹配整行,整个意思就是行前面加上#号
#: g:全部(只匹配特定行不加)
1.1 如果内容中有特殊关键字/进行匹配有问题,要换分隔符为@
script_name="logrotate_new.sh"
script_directory="/export/servers/nginx/sbin"
local script_location="${script_directory}/${script_name}"
/bin/sed -i "s@^[^#].*${script_location}*@#&@g" "${crontab_file_location}"
2.内容匹配取消注释
/bin/sed -i "/^#.*jdfalcon_agent*/s/^#//" /etc/crontab
#:^#//:去掉代表开头的#
2.1 如果内容中有关键字/ 进行匹配有问题,要先转义
old_crontab_expression_keyword1="/export/servers/nginx/sbin/logrotate.sh"
escaped_keyword1=$(printf '%s' "${old_crontab_expression_keyword1}" | sed 's:[][\/.^$*]:\\&:g')
/bin/sed -i "/${escaped_keyword1}/s/^#//" "${crontab_file_location}"
3.关键字jdfalcon_agent内容匹配,删除
/bin/sed -i "/jdfalcon_agent/d" /etc/crontab
原创:做时间的朋友