本文是自己学习的总结,仅以作分享。若有不对的地方欢迎指正。
Shell脚本
命令通过一个程序文件执行时,该程序被称为shell脚本或shell程序。Shell脚本中有一系列的命令或命令语句,这些命令、变量和流程控制语句等有机结合起来就是一个功能强大的shell脚本。
脚本开头
#!/bin/bash(推荐) 或 #!/bin/sh (#!称为幻数,确定哪个程序来解释脚本中的内容。#必须在顶行,不在则为注释)。
bash与sh的区别:sh是一个链接文件,指向bash,所以在linux中,sh与bash是一样的。
如果脚本的开头不指定解释器,则需要指定对应的解释器来执行脚本,如:bash test.sh 或 python test.py
脚本注释
跟在#后面的一行内容表示注释。用来对脚本进行说明,注释部分不会被执行,仅仅给人看的作用。可自成一行或跟在命令的后面。
单行注释:
多行注释:
脚本的执行
当shell脚本以非交互的方式执行时,会先查找系统环境变量ENV,该变量指定了一个环境文件(通常是.bashrc),然后从该环境变量开始执行,当读取了ENV文件后,shell才开始执行脚本中的内容。
bash script-name 或 sh script-name(推荐,脚本没有x权限或者没有指定解释器下可用)
path/script-name 或 ./ script-name(全路径或当前路径下执行,需要执行权限+x)
source script-name 或 . script-name(想获取脚本中的变量内容,以这种方式执行)
基本规范与习惯
1.开头指定脚本解释器,如:#!/bin/bash
2.开头加上版本版权等信息,如:# 时间 # 作者 # 联系方式 #脚本功能 #版本(可配置vim编辑器自动加载以上信息,方法是修改~/.vimrc配置文件)
3.脚本中尽量不要用中文注释(哪怕用拼音)
4.脚本以.sh结尾作为拓展名
5.代码书写优秀习惯
①成对的内容一次写出来
②[ ]两端要有空格,如:[ 123 ]
③流程控制语句一次书写完,再添加内容,防止出错
6.通过缩进,让代码更易读