shell脚本开发基本规范】的更多相关文章

当你的才华还撑不起你的野心的时候,你就应该静下心来学习.当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练.问问自己,想要怎样的人生. 欢迎加入 基础架构自动化运维:598432640,大数据SRE进阶之路:959042252 1.开头执行脚本解释器#!/bin/bash或者#!/bin/sh 2.开头加版权等信息#Date#Author#Mail#Function#Version 提示:可配置vim编辑文件时自动加上以上信息,方法是修改~/.vimrc配置文件 3.脚本中尽量不要用中文注…
一.前言 由于工作需要,最近重新开始拾掇shell脚本.虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看.而且当我在看其他人写的脚本的时候,总觉得难以阅读.毕竟shell脚本这个东西不算是正经的编程语言,他更像是一个工具,用来杂糅不同的程序供我们调用.因此很多人在写的时候也是想到哪里写到哪里,基本上都像是一段超长的main函数,不忍直视.同时,由于历史原因,shell有很多不同的版本,而且也有很多有相同功能的命令需要我们进行取舍,以至于代码的规范很难统一. 考虑到上面的这…
1.开头指定脚本解释器 #!/bin/sh或#!/bin/bash 2.开头加版本版权信息 #Date #Author #Mail #Function #Version 提示:可配置vim编辑文件时自动加上以上信息,方法是修改~/.vimrc配置文件 3.脚本中不用中文注释 尽量用英文注释,防止本机或切换系统环境后出现中文乱码的困扰 4.尽量以.sh为扩展名 Script-name.sh 5.代码书写优秀习惯 1)成对的内容一次性写出来,防止遗漏:{}   []   ‘’   “” 2)[]中括…
1.脚本第一行指定脚本解释器 #!/bin/bash 或 #!/bin/sh 2.脚本开头增加作者.脚本作用描述等信息 1 #!/bin/bash 2 #Author: iskylite 3 #Blog: http://www.cnblogs.com/iskylite/ 4 #Time: 2017-10-30 19:11:02 5 #Name: fan.sh 6 #Description: This is a test shell script. 3.在脚本中尽量不使用中文(注释除外) 容易出现…
1. 配置vim编辑器 1-1. 为什么不使用vi而是vim vi适合编辑普通文本,不适用编写脚本代码,例如:缺少高亮显示代码.自动缩进等重要功能: vim相当于高级编辑器,可以提高开发效率. 1-2. 设置vim为默认编辑器 [root@oldboy scripts]# echo 'alias vi=vim' >> /etc/bashrc [root@oldboy scripts]# tail -1 /etc/bashrc alias vi=vim [root@oldboy scripts]…
Shell脚本编程规划和变量 1.Shell脚本概述 2.Shell编程规划 3.重定向与管道 4.Shell脚本变量 1.Shell脚本概述 Shell的作用:充当"翻译官"的角色(接收用户输入的命令,然后解释用户的命令,并解释成内核能识别的语言传递给内核去进行相关的硬件调用) 2.Shell编程规范: a)编写脚本代码 使用vi或者vim编辑器,一般都是使用vim编辑器 每行一条Linux命令,按执行顺序一次编写 b)shell脚本的执行:(三个方法我就说这一个绝对够用) 方法:s…
                                                  linux—shell 脚本  精简基础                 2018/10/30 13:20:18 一.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容.每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够…
1. 前言 1.1 为什么学习shell编程 Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具,Linux/UNIX系统的底层及基础应用软件的核心大部分涉及Shell脚本的内容.每一个合格的Linux系统管理员或运维工程师,都需要熟练的编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell脚本内容.只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作,从而为个人的职场发展奠定较好的基础. 1.2 学好Shell编程所需的基础知…
1.shell脚本简介 1.1 shell是什么? shell是一个命令解释器,它在操作系统的最外层负责直接与用户对话,把用户的输入解释给操作系统:并处理各种各样的操作系统的输入,将结果输出到屏幕返回给用户,这种对话可以是交互式的(从键盘输入命令可以立即得到shell的回应)或非交互式的(脚本的方式). 下图中黄颜色的部分就是shell处于操作系统的位置. 1.2 什么是shell脚本 当linux命令或语句不在命令行下执行(严格的说命令行执行的语句也是shell脚本),而是通过一个程序文件执行…
目录 编写shell脚本的一些规范 解释器 添加脚本版本和注释功能 添加脚本调试 变量命名 全局变量和局部变量 命名规范 函数命名 脚本命名 函数 引用模块或文件 脚本日志 配置文件 其他 编写shell脚本的一些规范 解释器 shell脚本一般选择bash作为解释器,脚本开头应为 #!/bin/bash 或 #!/bin/sh 添加脚本版本和注释功能 在脚本的开头加注释,说明脚本作者.编写时间.脚本功能,最好可以加上脚本的版本号.shell中脚本注释用#,注释语句和#号之间有一个空格 #!/b…
shell编程规范与变量    一.shell脚本概述    ① 什么是shell? Linux中有哪些shell?    ② shell的作用   ③ 用户的登录shell    ④ shell脚本的概念    ⑤ shell脚本应用场景二.shell编程规范    ① 编写脚本代码    ② shell脚本的构成    ③ shell脚本的执行三.重定向与管道操作    ① 管道操作    ② 重定向四.shell变量的作用.类型    ① 变量的作用    ② 变量的类型   ▷ 自定义变…
1.linux中的变量 linux中的变量分为环境变量和普通变量,其中环境变量可以理解为全局变量,在所有shell的子程序中都可以引用,普通变量只能在自己的shell程序中使用,程序结束后变量无法保留. 设置环境变量的方法: 1.export命令 用户退出后失效 export test=12312 2..bash_profile..bashrc.etc/bashrc或者etc/profile中定义 用户的环境变量: ls /root/.bashrc(推荐文件) ls /root/.bash_pr…
在shell脚本一 中,我讨论了shell脚本的语法规范,shell脚本的变量,以及shell脚本的测试语句. 仅仅懂得这些只能写简单的脚本,在简单的脚本中各条语句按顺序执行,从而实现自动化的管理,顺序单一执行太过机械化,不够“智能”,难以实现更加灵活的系统任务.甚至一个简单的场景:现有100台linux服务器,其中有50台安装过某软件,有50台没有安装过某软件.如果没有流程控制及循环方面的脚本知识,如此简单的问题,也变得非常低效.所以本文带你走进shell脚本的流程控制及循环的世界.  一.多…
什么是shell? shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户.这种对话方式可以是交互的方式(从键盘输入命令,可以立即得到shell的回应),或非交互(执行脚本程序)的方式.下图的黄色部分就是命令解释器shell处于的操作系统中位置形象图解.   什么是shell脚本? :清除/var/log下messages日志文件的简单命令脚本.#把所有命令放在一个文件里堆积起来就形成了脚本,下面…
一.需求背景     因此次项目的生产环境中部署了多套系统,每天会产生大量的日志(数百GB的量),侵占了服务器宝贵的存储资源空间.为了有效缓解服务器存储压力,考虑通过Linux的Shell脚本结合crontab定时每周一对上周7天的日志打包压缩,并删除原被打包的日志文件,以腾出更多可利用的存储资源空间. 对于初次接触Shell脚本的同学,建议先花几个小时时间学习一下Shell.附Shell教程链接如下: http://www.runoob.com/linux/linux-shell-proces…
系统命令 # cat EFO cat >> file << EOF neirong EOF # 清空 >file 清空文件 [root@Poppy conf]# sed -i '/^#.*$/d' joker 删除#开头的行 [root@Poppy conf]# sed -i '/^$/d' joker 删除空行,回车的空行 # 一行显示几个字段,空格就是分隔符,-n指定几个 xargs -n 1 < file # echo xx 1>a.txt 2>b.t…
作者:沐星晨 出处:http://blog.csdn.net/sosodream/article/details/6276758 浅谈自底向上的Shell脚本编程及效率优化 小论文,大家多批评指导:) ====== 摘  要:   低效的shell脚本设计会进一步影响原本解释器模式下并不见长的程序运行效率,使其在面对大数据量文本分析时的资源与时间消耗变成难以接受的.本文分析了shell语言及其应用需求的特点,从分层设计的角度提出了"自底向上进行shell脚本编程"的理论,同时提出了从&…
前言 学习shell脚本编程需要的知识储备: vi/vim编辑器命令 vimrc设置要熟练 基础命令,100多个要熟练 基础和常用的网络服务命令要会:nfs . rsync. inotify . lanmp . sersync  .ssh  key 一.shell脚本概念及示例 1.什么是shell Shell是一个命令解释器,它在操作吸引的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户.这种对话方式可以是交互的方式(从键盘输入命…
随着写的SHELL程序越来越多,发现自己每次写都有不同的习惯或者定义了不同的东西,变量名定义得不一样,整个程序缩进不统一,没有注释等问题,等我回过头看这些程序的时候发现很麻烦.所以写了个shell代码规范. 1.1 目的 定义Shell脚本命名和编码规范,统一管理Shell脚本,便于自己和别人查看,提高代码书写速度和美观,暂时只对自己进行约束,其它人只供参考. 1.2 开发工具 shell脚本是个文件,没有开发环境,FC4图形环境下,可用gedit.vi.vim.joe等,推荐使用vim因为这个…
文章1部分 再了解C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比方从文件里读取一行数据.向文件追加一行数据等. 完毕文件读写操作的方法有非常多,了解各种命令下文件操作的运行情况,有助于开发者在不同使用场景下选择合适的命令. 本文以实际的shell脚本为例,介绍了对文件进行操作的不同方法,为相关开发工作提供了參考. [关键词] shell  文件操作  读写  效率 一.概述 在某些软件项目的需求文档中,要求程序一次性读或写的数据规模较大,可达…
shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程序 # Date 创建日期 # Author: Created By Dream361 作者 # Mail : gloryzheng@.com 邮箱 # Func : This Script is for Mysql Backup 脚本的用途 # V2. 脚本版本号 2.Shell脚本中不要有中文,…
前言 我们经常看到github上面有很多CHANGELOG.MD包含版本的更新信息,如果我们的git提交能遵循一定的规范,那么使用gitlog就能很方便的生成它 生成结果  shell脚本 https://github.com/LinkinStars/springBootTemplate/blob/master/gitlog.sh 将脚本放在项目的根目录,然后给与权限,然后运行后,就能生成和上面差不多的CHANGELOG.md git提交规范 当然如果你和上面不一样也正常,需要你git提交的m…
Loadrunner脚本开发规范 目录 1.一般约定... 3 2.代码注释约定... 4 3.格式化代码... 5 1.一般约定 1.1具体脚本规则,必须在具体代码中加注释,以便脚本开发人员阅读和理解脚本. 1.2脚本的存放规则: 测试脚本应该存储在指定的库中,例如一个共享的驱动盘或测试管理工具中.为节省空间,便于复用,测试脚本的文件夹下的: result,res,date 文件夹,后缀名为:.idx  .log  .txt 文件都可不必保留.    1.3脚本中 auction的命名规则:…
shell脚本需要有较高的实用性.可维护.可阅读.方便他人阅读,因而需要建立一定的规范来操作 dream361@master:~$ cat test2.sh #!/bin/bash 所使用的bash程序 # Date 创建日期 # Author: Created By Dream361 作者 # Mail : gloryzheng@.com 邮箱 # Func : This Script is for Mysql Backup 脚本的用途 # V2. 脚本版本号 2.Shell脚本中不要有中文,…
原文:http://blog.csdn.net/timchen525/article/details/76474017 题场景: 开发Shell 脚本判断系统剩余内存的大小,如果低于100MB,就邮件报警给系统管理员,并且将脚本加入系统定时任务,即每3分钟执行一次检查. 分两步: 第一步:编写脚本 脚本memory_mon.sh如下: #!/bin/bash FreeMem=`free -m|awk 'NR==3 {print $NF}'` #获取系统当前的内存值,赋给变量FreeMem CHA…
需要养成的习惯如下: 代码有注释 #!/bin/bash # Written by steven # Name: mysqldump.sh # Version: v1.0 # Parameters : 无 # Function: mysqldump备份mysql # Create Date: 2016-08-27 缩进有规矩 编码要统一 在写脚本的时候尽量使用UTF-8编码 太长要分行 巧用heredocs 学会查路径 script_dir=$(cd $(dirname $0) && pw…
在日常的运维工作中,Shell脚本肯定是必不可少的工作内容.为方便问题排查.脚本执行历史问题追踪.方便大家共同维护,从网上搜罗结合以往的经验教训拟定以下Bash脚本书写规范.欢迎各位同学指正或补充. 代码风格规范 代码有注释 参数要规范 环境变量和魔数 变量的定义和引用 缩进有规矩 命名有标准 编码要统一 执行权限记得加 日志和回显 太长要分行 代码有效率 勤用双引号 巧用main函数 考虑作用域 巧用heredocs 学会查路径 代码要简短 使用新写法 其他小tip 代码风格规范 开头有"蛇棒…
shell 脚本规范 一.背景 1.使用哪一种shell? 必须使用bash shell 2.什么时候使用shell? 数量相对较少的操作 脚本文件少于100行 3.脚本文件扩展名是什么? shell脚本不要求有扩展名,或者以.sh结尾,库文件必须以.sh结尾,并且不可执行. 二.环境 STDOUT vs STDERR 所有的错误信息都应该被导向STDERR. err() { echo "[$(date +'%Y-%m-%dT%H:%M:%S%z')]: $@" >&2…
用fir.im测试已经好长时间了,感觉每次打包上传都很麻烦,想着是不是可以用脚本自动打包,在网上搜了一下确实有,下面总结一下如何使用脚本自动打包上传到fir.im,以及打包过程中遇到的问题和解决办法 相关资料和下载 首先是打包脚本的下载地址,这个是我找到的比较全的一个,里面有很多不同功能的shell脚本,亲测好用,传送门:https://github.com/heyuan110/BashShell?spm=5176.100239.blogcont5028.4.kFcLtR 还有关于fir指令的一…