day61 shell,python,运维的关系
day61 shell,python,运维的关系
shell脚本的优势在于,最贴切liunx的底层,直接使用linux原生命令,效率高,适合处理偏向于操作系统底层的脚本。
对于常见的系统脚本,shell去开发会更加的简单,更快速,例如意见的部署nginx的集群,系统内核的参数优化,启动脚本,日志分析三剑客的提取脚本等。
虽然其他的语言,如python也能实现这个效果,但是考录到学习的成本,开发的效率,以及通过python语言对于操作系统的效率,远远不如liux命令来的强大。
因此基于基本的系统维护需求,用shell脚本会更加的符合易用,快速,搞笑,的原则。
#python
python是最近几年运维自动化非常流行的语言,随着运维人员开发能力的提升,以及运维对编程的需求加大,像知乎网、豆瓣网、国外的INS网都是python开发的,虽说后来有更新。
因此python很适合web开发,实现网站的后端功能,这个是shell完成不了的,shell仅仅是维护linux系统的脚本语言。
python除了可以开发网站的web服务,以及运维的开源工具,如ansible,saltstack,openstack虚拟化平台,都是python开发而来。
因此运维的第二语言以python为主,适合开发更复杂,更强大的运维软件,运维系统,而不是简单的运维脚本了。
代码调试运行的方式
1. 你以后写完脚本后,如直接的运行,只能看到每一条命令的执行的结果,看不到具体过程。
2. bash -x 脚本,查看脚本执行过程细节。
例如以下的代码
代码编写细节(后面知识点再细聊)
更多其他shell的语法规则,咱们往后遇见了再一个个去介绍。
- 如括号,都是要成对出现的
如下符号,一次性,首尾都给写好。
例如大括号{}
中括号[]
小括号()
单引号' '
双引号" "
反引号` `
-
shell语法要求,如条件判断的括号,前后必须有空格,学if的时候再细说。
-
shell默认不强制要空格缩进,以换行区分每一行新代码,但是写缩进,看着更美观。****
浙公网安备 33010602011771号