免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2783 | 回复: 11
打印 上一主题 下一主题

这个怎么来实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-06 19:17 |只看该作者 |倒序浏览
当前使用centos,正如你所知道的,最小化安装(安装时只选base)会默认打开一些服务。我希望通过强大的shell script来完成,不然,一个一个的来stop,off多累。但是,我很菜,请大家帮我一把,谢谢先。


#chkconfig --list | grep "3n" | sort | awk '{print $1}'
即可显示出在运行级3开启的服务。
本来是希望通过xargs来完成,但是我发现,以上的结果不好放到X字符所在的位置,如;service X stop ,chkconfig X off

或许还有其他办法???

论坛徽章:
0
2 [报告]
发表于 2011-04-06 20:32 |只看该作者
试试这个可以不?
  1. for i in $(chkconfig --list | grep "3:on" | sort | awk '{print $1}')
  2. do
  3. service $i stop
  4. chkconfig $i off
  5. done
复制代码

论坛徽章:
0
3 [报告]
发表于 2011-04-06 20:38 |只看该作者
对,就是这个。
原来是我没搞明白for语句。厉害!学习啦。
谢谢

论坛徽章:
3
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:51:162015年亚洲杯之阿曼
日期:2015-04-07 20:00:59
4 [报告]
发表于 2011-04-06 20:54 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2011-04-07 12:14 |只看该作者
  1. #!/bin/bash

  2. PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
  3. export        PATH

  4. for i in $(chkconfig --list | sort | awk '{print $1}')
  5. do
  6.         echo -n "How to deal with the $i service: [Disable|Enable|d|e]"
  7.         read p
  8.         bb=0       

  9.         while [ "$bb"="0" ]
  10.         do
  11.        
  12.         case $p in       
  13.         d|Disable)       
  14.                 service $i stop
  15.                 chkconfig $i off
  16.                 bb=1
  17.                 echo $(service $i status)
  18.                 break
  19.                 ;;
  20.         e|Enable)       
  21.                 if [ "$(service $i status | awk '{print $NF}')"="running..."  ] ; then
  22.                 echo $(service $i status)
  23.                 bb=1
  24.                 break
  25.         else
  26.                 chkconfig --level 3 $i on
  27.                 service $i start
  28.                 bb=1
  29.                 break
  30.         fi
  31.                 ;;
  32.         *)
  33.                 echo -n "Please input again [d|e]: "
  34.                 read p
  35.                 ;;
  36.         esac

  37.         done

  38. done
复制代码
我重新写了一段。可是测试当我输入 e,并不执行service $i start 和chkconfig --level 3 $i on ,这是怎么会事呢?
当然是在vmware workstations下完成的.

论坛徽章:
0
6 [报告]
发表于 2011-04-07 12:27 |只看该作者
我擦....你这要是干嘛阿?
本来就base了....再base一下????{:2_170:}

论坛徽章:
0
7 [报告]
发表于 2011-04-07 12:32 |只看该作者
我擦....你这要是干嘛阿?
本来就base了....再base一下????
南极雨 发表于 2011-04-07 12:27


本来就是学习、应用的目的。这不是自己没看出什么原因,才来请教,你犯得着不屑???不会答就拉倒。

论坛徽章:
0
8 [报告]
发表于 2011-04-07 13:24 |只看该作者
本帖最后由 南极雨 于 2011-04-07 13:26 编辑

回复 8# scrlkcheng


没恶意没恶意。。。。。
多有冒犯.
不好意思了!!!!!
我是觉得如果把所有的都stop掉,系统还能支撑的住吗?

论坛徽章:
0
9 [报告]
发表于 2011-04-07 14:11 |只看该作者
你确实没好好看,第六楼上的那些。

其实是我做了些修改,希望实现读取当前所有的服务,利用sh来做一个方便的disable | enable服务的调整。

问题是当我输入e,脚本却没真正执行service $i start 。所以,有点怀疑是不是我的代码写错了。还有一种可能是vmware的问题。当前没有无聊机器来验证这个。

帮忙看看是否有错误,谢谢关注的朋友!

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
10 [报告]
发表于 2011-04-07 14:20 |只看该作者
回复 10# scrlkcheng


   if  [ $var = "xx" ] 注意 空格
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP