一、创建shell脚本
shell脚本是以.sh为后缀的文件。
1、新建文件vim 1.sh
#!/bin/bash
#告诉计算机使用哪个版本的shell来解析我们的代码
2、执行Shell脚本时需要我们人为的添加权限
chmod 777 1.sh
3、运行
./sh
二、shell变量
1、shell中允许用户建立 变量存储类型,不支持数据类型
(1)由数字、字母、下划线组成,
(2)首字母不能为数字
(3)shell中变量一般用大写表示
注意:
给变量赋值时,等号两边都没有空格
取用变量的值时,在变量名前加$
变量中有多个字符时,使用{}括起来
2、预定义变量
$#:包含命令行参数的个数
$@:包含所有命令行参数
$*:包含所有命令行参数
$?:包含前一个命令的退出状态(在shell中0为真,非0为假)
$$:包含正在执行的进程的ID号
三、shell语句
输出:
功能性语句
echo:自带换行
echo “hello shell”
不换行:echo -n “hello shell”
输入:
read
说明性语句
#:表示注释
四、算数运算
算术运算命令expr主要用于进行简单的整数运算、+、-、\*、/、%
案例:
五、test命令
测试:字符串、整数、文件属性
字符串测试:
s1 = s2 测试两个字符串的内容是否完全一样
s1 != s2 测试两个字符串内容是否有差异
-z s1 测试s1字符串的长度是否为0
-n s1 测试s1字符串的长度是否不为0
整数测试:
a -eq b 测试a与b是否相等
a -ne b 测试a与b是否不相等
a -gt b 测试a是否大于b
a -ge b 测试a是否大于等于b
a -lt b 测试a是否小于b
a -le b 测试a是否小于等于b
文件属性测试:
-d name 测试name是否为一个目录
-f name 测试name是否为普通文件
-L name 测试name是否为符号链接
-r name 测试name是否存在且可读
-w name 测试name是否存在且可写
-x name 测试name是否存在且课执行
-s name 测试name是都存在且长度不为0
f1 -nt f2 测试文件f1是否比文件f2更新
f1 -ot f2 测试文件f1是否比文件f2更旧