脚本注释

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
posted @ 2023-07-12 16:40  SpecialSpeculator  阅读(15)  评论(0编辑  收藏  举报