背景:今天上架一批新机器(centos6.9),根据要求只保留(crond|sshd|network|rsyslog|systat)这几个服务开机自启动
问题:一个服务一个服务关闭太麻烦,所以想到了grep+awk配合,使用一条命令搞定,问题解决
命令如下:
chkconfig |egrep -v "crond|sshd|network|rsyslog|systat" |awk '{print "chkconfig",$1,"off"}' |bash
思路:
1、使用grep -v取反过滤出非需要的服务因为”|“这个符号属于正则表达式为了使grep支持所以使用egrep
2、使用awk提取关键字并且“拼接”出命令
3、将”拼接“出的命令交给bash解析成计算机了解的语言