shell(条件测试)
格式
1 2 3 | 格式1: test 条件表达式 格式2:{ 条件表达式 } 格式3:{{ 条件表达式 }} |
文件测试 (文件或目录)
1 2 3 4 5 6 7 8 9 | test -d /home [ -d /home ] [ -e dir file ] [ -d dir ] [ -f file ] ##是否存在,而且是文件 [ -r file ] ##当前用户对文件是否有读权限 [ -x file ] [ -w file ] [ -L file ] |
数值比较
1 2 3 4 5 6 7 8 9 | [ 1 -gt 10 ] #大于 [ 1 -lt 10 ] #小于 [ 1 - eq 10 ] #等于 [ 1 - ne 10 ] #不等于 [ 1 - ge 10 ] #大于等于 [ 1 - le 10 ] #小于等于 disk_use=$( df -P | grep '/$' | awk '{print $5}' | awk -F% '{print $1}' ) [ $disk_use -gt 90 ] && echo "war....." [ $( id -u) - eq 0 ] && echo "当前是超级用户" |
文本比较
1 2 3 4 | [ "$USER" = "root" ]; echo $?; #字符串变量尽量双引号引起来 BBB= "" ; echo ${ #BBB} BBB= "" ;[ -z "$BBB" ] 字符长度是为0 BBB= "" ;[ -n "$BBB" ] 字符长度不为0 |
其它
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | () #子shelll中执行 (()) #数值比较 $() #命令替换 $(()) #整数运算 [] #条件测试 [[]] #条件测试,支持正则 =~ $[] #整数运算 . /01 .sh #需要执行权限 在子shell中执行 bash 01.sh #不需要执行权限 在子shell中执行 .01.sh #不需要执行权限 在当前shell中执行 source 01.sh #不需要执行权限 在当前shell中执行 调试脚本 sh -n 02.sh #仅调试 sh -vx 02.sh #以调试的方式执行,查询整个执行过程 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!