3.4 文件测试 测试符 描述 示例 -e 文件或目录存在为真 [ -e path ] path 存在为 true -f 文件存在为真 [ -f file_path ] 文件存在为 true -d 目录存在为真 [ -d dir_path ] 目录存在为 true -r 有读权限为真 [ -r file_path ] 2025-07-24 0 0 Server Shell
3.3 字符串比较符 运算符 描述 示例 == 等于 ["a" == "a"]为 true != 不等于 ["a" != "a"]为 false > 大于,判断字符串时根据ASCII 码表顺序,不常用 在[]表达式中:[ 2 \> 1 ]为 true 在[[]]表达式中:[[ 2 > 1 ]]为 true 在(())表达 2025-07-24 0 0 Server Shell
3.2 整数比较符 比较符 描述 示例 -eq,equal 等于 [ 1 -eq 1 ]为 true -ne,not equal 不等于 [ 1 -ne 1 ]为 false -gt,greater than 大于 [ 2 -gt 1 ]为 true -lt,lesser than 小于 [ 2 -lt 1 ]为 fa 2025-07-24 0 0 Server Shell
3.1 条件表达式 表达式 示例 [ expression ] [ 1 -eq 1 ] [[ expression ]] [[ 1 -eq 1 ]] test expression test 1 -eq 1 ,等同于[] 2025-07-24 0 0 Server Shell
2.6 字符串颜色 再介绍下字符串输出颜色,有时候关键地方需要醒目,颜色是最好的方式: 字体颜色 字体背景颜色 显示方式 30:黑 40:黑 31:红 41:深红 0:终端默认设置 32:绿 42:绿 1:高亮显示 33:黄 43:黄色 4:下划线 34:蓝色 44:蓝色 5:闪烁 35:紫色 45:紫色 2025-07-24 2 0 Server Shell
2.5 变量状态赋值 ${VAR:-string} 如果 VAR 变量为空则返回string ${VAR:+string} 如果 VAR 变量不为空则返回 string ${VAR:=string} 如果 VAR 变量为空则重新赋值 VAR 变量值为 string ${VAR:?string} 如果 VAR 变量为空则将 2025-07-24 0 0 Server Shell
2.4 字符串截取 格式: ${parameter#word} # 删除匹配前缀 ${parameter##word} ${parameter%word} # 删除匹配后缀 ${parameter%%word} #去掉左边,最短匹配模式,##最长匹配模式。 %去掉右边,最短匹配模式,%%最长匹配模式。 # URL="h 2025-07-24 0 0 Server Shell
2.3 替换字符串 格式:${parameter/pattern/string} # VAR='hello world world!' 将第一个 world 字符串替换为 WORLD: # echo ${VAR/world/WORLD} hello WORLD world! 将全部 world 字符串替换为 2025-07-24 0 0 Server Shell
2.2 字符串切片 格式: ${parameter:offset} ${parameter:offset:length} 截取从 offset 个字符开始,向后 length 个字符。 截取 hello 字符串: # VAR='hello world!' # echo ${VAR:0:5} hello 截取 2025-07-22 1 0 Server Shell
2.1 获取字符串长度 上一章节讲解了为什么用{}引用变量,{}还有一个重要的功能,就是文本处理,单行文本基本上可以满足你所有需求。 # VAR='hello world!' # echo $VAR hello world! # echo ${#VAR} 12 2025-07-22 5 0 Server Shell