shell通配符
- 可以匹配任意多个字符
? 可以匹配任意一个字符
[] 匹配括号中的任意一个字符
() 在子shell中执行
{} 集合
shell颜色输出文本
字体颜色
背景颜色
同时改变字体和背景
第一个shell脚本
vim text.sh //创建一个text.sh文件,扩展名为 sh(sh代表shell)
#!/usr/bin/bash //#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell
echo "Hello World !" //echo 命令用于向窗口输出文本
运行shell脚本的两种方法
1.作为可执行程序
将代码保存为 test.sh,并 cd 到这个文件所在目录:
chmod +x ./test.sh //使脚本具有执行权限
./test.sh //执行脚本
2.作为解释器参数
这种方式运行的脚本,不需要在第一行指定解释器信息,直接运行解释器,其参数就是 shell 脚本的文件名,如:
/bin/sh test.sh
shell变量
定义变量
ip="www.baidu.com" //定义变量时,变量名不加美元符号
注意:
1.变量名和等号之间不能有空格
2.命名只能使用英文字母,数字和下划线,首个字符不能以数字开头
3.中间不能有空格,可以使用下划线
4.不能使用标点符号
5.不能使用bash里的关键字
使用变量
ip_01="www.baidu.com"
echo $ip_01 //使用一个定义过的变量,只要在变量名前面加美元符号即可
echo ${ip_01} //变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界
只读变量
ip_01="http://www.baidu.com"
readonly ip_01 //使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变
删除变量
ip_01="www.baidu.com"
unset ip_01 //使用 unset 命令可以删除变量,变量被删除后不能再次使用
注意:不能删除只读变量
运算符
关系运算符
-eq 检测两个数是否相等,相等返回 true
[ $a -eq $b ] 返回 false
-ne 检测两个数是否不相等,不相等返回 true
[ $a -ne $b ] 返回 true
-gt 检测左边的数是否大于右边的,如果是,则返回 true
[ $a -gt $b ] 返回 false
-lt 检测左边的数是否小于右边的,如果是,则返回 true
[ $a -lt $b ] 返回 true
-ge 检测左边的数是否大于等于右边的,如果是,则返回 true
[ $a -ge $b ] 返回 false
-le 检测左边的数是否小于等于右边的,如果是,则返回 true
[ $a -le $b ] 返回 true
网友评论