一、入门
编写规范:
代码规范:
#!/bin/bash [指定告知系统当前这个脚本要使用的shell解释器]
shell 相关指令
文件名规范:
文件名.sh .sh是linux下bash shell 的默认后缀
使用流程:
1创建.sh文件 touch/vim
2编写shell代码
3执行shell脚本 脚本必须得有执行权限
demo1:创建test.sh,实现第一个shell脚本程序,输出
赋权:chmod +x test.sh 运行
注意:输出的内容如果包含字母和符号(不包含变量),则需要用引号包括起来。如果是纯数字可以包也可以不包。
注意:运行时写./test.sh ,其他二进制的程序也一样,./ 告诉系统在当前目录里找或者目录写全也可以
脚本执行的另一种方式:/bin/bash脚本的路径(了解)
二、shell进阶
1、变量的定义与使用
1.1
$#命令行参数或位置参数的数量
$?最近一次执行的命令或shell脚本的出口状态
$*表示所有的位置参数,其值是所有位置参数的值
变量是shell脚本里面的进程ID。Shell脚本经常使用变量是shell脚本里面的进程ID。Shell脚本经常使用 变量是shell脚本里面的进程ID。Shell脚本经常使用 变量
组织临时文件名,确保文件名的唯一性
1.2
$#命令行参数或位置参数的数量
$?最近一次执行的命令或shell脚本的出口状态
$*表示所有的位置参数,其值是所有位置参数的值
变量是shell脚本里面的进程ID。Shell脚本经常使用变量是shell脚本里面的进程ID。Shell脚本经常使用 变量是shell脚本里面的进程ID。Shell脚本经常使用 变量
组织临时文件名,确保文件名的唯一性
class_name=“yunwei”
echo $class_name
关于单双引号的问题:
双引号能够识别变量
单引号不能识别变量,只会原样输出
demo:输出时间格式年-月-日 时:分:秒
接收用户输入
语法:read -p 提示信息 接收的变量名
bash shell 脚本中变量无法存储布尔值 布尔值只能用与条件判断
条件中非空都为true(除了false)
流程控制语句
if语句ifthen。。fi
if-else语句:ifthen..else..fi
if-else-if语句:ifthen...elifthen,,,else..fi
for循环:for((a=1:a<=5;a++))do...done
增强for循环:for a in parm1 parm2 ...do..done
while循环:a=1while [ a -le 5]do..let \"a++\"donecase判断:case 变量 in:值1)。。。;;值2)。。。;;*) 为default。。esac
1.3shell脚本
示例: