2020-05-26

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容