shell脚本if/else使用示例

if判断字符串是否为空实例

shell 复制代码
#!/bin/bash

read -p "input string > " str 

if [ -z "$str" ]
then
    echo "str是空"
else
    echo "str非空"                                                                         
fi

if判断整数是否为奇数实例

shell 复制代码
#!/bin/bash

read -p "input integer > " num 

if [ $((num % 2)) -eq 1 ]
then
    echo "num是奇数"
else
    echo "num是偶数"                                                                         
fi

if判断整数是否为偶数实例

shell 复制代码
#!/bin/bash


read -p "input integer > " num 

if [ $((num % 2)) -eq 0 ]
then
    echo "num是偶数"
else
    echo "num是奇数"                                                                         
fi

if判断整数是否为正数实例

shell 复制代码
#!/bin/bash

read -p "input integer > " num 

if [ $num -gt 0 ]
then
    echo "num是正数"
else
    echo "num不是正数"                                                                         
fi

if判断整数是否为负数实例

shell 复制代码
#!/bin/bash

read -p "input integer > " num 

if [ $num -lt 0 ]
then
    echo "num是负数"
else
    echo "num不是负数"                                                                         
fi

输入两个字符串,输出字符串的大小关系

shell 复制代码
#!/bin/bash
read -p "input str1 > " str1
read -p "input str2 > " str2

if [ -n "$str1" -a -n "$str2" ]
then
    if [ "$str1" \> "$str2" ]
    then
        echo "str1 > str2"
    elif [ "$str1" \< "$str2" ]              
    then
        echo "str1 < str2"
    else
        echo "str1 = str2"
    fi  
else
    echo "请不要输出空字符串"
fi

输入学生的成绩判断是否合法

shell 复制代码
#!/bin/bash
read -p "input score > " score

if [ $score -ge 0 -a $score -le 100 ]
then
    echo "score合法"
else
    echo "score非法"
fi

输入学生的成绩判断是否及格

shell 复制代码
#!/bin/bash
read -p "input score > " score

if [ $score -ge 60 ]
then
    echo "score及格"
else
    echo "score不及格"
fi

判断平年闰年

shell 复制代码
#!/bin/bash
read -p "input year > " year

if (((year%4==0&&year%100!=0) || (year%400==0)))
then
    echo "闰年"
else
    echo "平年"                                                                
fi

输入文件判断文件是否是普通文件

shell 复制代码
#!/bin/bash

read -p "input file > " file

if [ -f $file ]
then
    echo "这是普通文件"
else
    echo "文件不存在或它不是普通文件"
fi 

输入文件判断文件是否是目录

shell 复制代码
#!/bin/bash

read -p "input file > " file

if [ -d $file ]
then
    echo "这是目录"
else
    echo "文件不存在或它不是目录"
fi 

判断文件的权限

shell 复制代码
#!/bin/bash



read -p "input file > " file

if [ -r $file ]
then
    echo "文件可读"
else
    echo "文件不可读"
fi 


if [ -w $file ]
then
    echo "文件可写"
else
    echo "文件不可写"
fi 


if [ -x $file ]
then
    echo "文件可执行"
else
    echo "文件不可执行"
fi 
相关推荐
云计算磊哥@3 分钟前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
weixin_523185328 分钟前
Collections.unmodifiableMap详解:真的不可修改吗?
java·linux·前端
黄同学real17 分钟前
解决 Visual Studio Web Deploy 远程发布报 401 未授权 (ERROR\_USER\_UNAUTHORIZED)
服务器
天天进步201534 分钟前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
凡人叶枫1 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
云栖梦泽1 小时前
玩转RK3506SDK
linux·嵌入式硬件
极客先躯1 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
Java面试题总结2 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON2 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙
志栋智能2 小时前
超自动化巡检:提升MTTR,缩短业务影响时间
运维·自动化