加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Shell开发在运维中的经验总结

发布时间:2019-03-07 01:03:26 所属栏目:业界 来源:匠心独运维妙维效
导读:无论是体系运维,照旧应用运维,均可分为纯手工 剧本化 自动化智能化几个阶段,个中自动化阶段,首要是将一些一再性人工操纵和运维履历封装为措施或剧本,一方面停止一再性操纵及风险,另一方面进步执行服从。在自动化运维的转变进程中,常常行使的也许就

9)对付打包后还需举办压缩的文件,提议行使管道举办处理赏罚,如:

Shell开拓在运维中的履历总结

不提议两部门分隔执行:

Shell开拓在运维中的履历总结

10)行使ps呼吁筛选历程时,如能确定历程所属用户,必需在参数中指定用户名称,,如其输出作为kill呼吁的输入,则必需指定历程所属用户,如:

Shell开拓在运维中的履历总结

Shell开拓在运维中的履历总结

这里先容的首要是一般shell编写中碰着较量潜伏或看似简朴,却难以发明的“坑”,编写中应只管停止行使,行使更优的要领停止重蹈覆辙。

1)更新文件行使>不消cp

行使>修改和回退文件时,保存原文件的属组和权限,停止行使cp时权限属组被修改。

Shell开拓在运维中的履历总结

2)行使kill前确认

要害字用-w 准确匹配字段;

kill前后都保存现场, 两次ps -ef|grep -w 要害字|grep -v grep >>/tmp/kill_历程名_.backup;

删除前要校验,获取历程号是否独一,停止多杀或误杀的环境。

Shell开拓在运维中的履历总结

3)行使rm前确认

删除前备份删除工具信息,停止行使变量,直接行使文件和目次名;

假如必需行使时,删除前,提议搜查停止误删,删除目次和文件信息保存:

Shell开拓在运维中的履历总结

提议禁用find遍历根目次举办查找,同时删除前举办确认,停止多删或误删的环境。

4)For轮回的坑

for轮回的in前提按空格来区分,停止进入不正确或死轮回。

Shell开拓在运维中的履历总结

5)while轮回的禁忌

假如还想行使轮回中的变量,不要while团结管道行使。

6)慎用cp

这句话根基上正确,但同样有空格分词的题目。以是该当用双引号:

Shell开拓在运维中的履历总结

可是假如凑巧文件名以 - 开头,这个文件名会被 cp 看成呼吁行选项来处理赏罚。

可以试试下面这个:

Shell开拓在运维中的履历总结

但也也许再碰上一个不支持 -- 选项的体系,以是最好用下面的要领:

Shell开拓在运维中的履历总结

7)慎用cd

停止行使cd到操纵目次再操纵的方法,也许导致进入目次失败,误删除,如:

Shell开拓在运维中的履历总结

提议如下:

Shell开拓在运维中的履历总结

8) 用[[ ]]取代[ ]

Shell开拓在运维中的履历总结

当$var为空时,上面的呼吁就酿成了[ ="bar" ]

相同地,当$var包括空格时:

[ space words here = "var" ]两者城市堕落。以是该当用双引号将变量括起来:

[ "$var" = var ] 险些美满了。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读