Linux学习 -- Shell学习之条件判断

news/2024/7/8 3:24:32
  • 常用的判断条件
  • if判断
  • case判断

一、常用的判断条件

1、基本语法

        [ condition ](注意condition前后要有空格)。
        注意:条件非空即为 true,[ atguigu ]返回true,[返回false。

2.常用判断条件。

(1)两个整数之间比较.
=    字符串比较。

-lt小于(less than)                                  -le小于等于(less equal).
-eq等于(equal)                                        -gt大于( greater than) .
-ge 大于等于( greater equal)                  -ne不等于(Not equal)


(2)按照文件权限进行判断。
-r有读的权限(read)                        -w有写的权限(write) .
-x有执行的权限( execute) ,


(3)按照文件类型进行判断。
-f文件存在并且是一个常规的文件(file)

-e文件存在(existence)                        -d 文件存在并是一个目录( directory)

二、if判断

基本语法:

        if[ 添加判断式 ];then

                程序

        fi

或者是

        if[ 条件判断式 ]

                then

                     程序

        fi

注意事项:。
         (1)[ 条件判断式 ],中括号和条件判断式之间必须有空格。

案例操作:

        # !/bin/bash

        if [ $1 -eq 1 ]

        then
                echo "banzhang zhen shuai"
        elif [ $i -eq 2 ]
        then
                echo "c1s zhen mei"
        fi

 

三、case判断

 1.基本语法。

        case S变量名 in .

        "值1") .
                如果变量的值等于值1,则执行程序1

                ;;
        "值2")
                如果变量的值等于值2,则执行程序2
                ;;
                ...省略其他分支...“
                *) 

                如果变量的值都不是以上的值,则执行此处。

                ;;

                esac


注意事项: 
        1) case行属必须为单词“in”,每一个模式匹配必须以右括号“)”结束。

        2) 双分号“;;”表示命令序列结束,相当于java中的 break。"
        3) 最后的“*)”表示默认模式,相当于java中的default。.

案例操作:

        需求:星期一到星期天对应数字1-7,对映输入和输出。

#!/bin/bash
case $1 in
1)
    echo "Monday"
    ;;
2)
    echo "Tuesday"
    ;;
3)
    echo "Wednesday"
    ;;
4)
    echo "Thursday"
    ;;
5)
    echo "Friday"
    ;;
6)
    echo "Saturday"
    ;;
7)
    echo "Sunday"
    ;;
*)
    echo "False"
    ;;
esac

 


http://lihuaxi.xjx100.cn/news/58073.html

相关文章

ASP.NET Core--配置文件

文章目录配置文件添加配置文件读取配置文件控制台读取配置文件**控制器中读取对象读取自定义配置文件多环境配置文件配置文件 添加配置文件 在项目目录下有个 appsettings.json ,我们先来操作这个文件。 在appsettings.json 添加如下两个节点。 {"Data&quo…

2022-10-04 语法分析器bison说明

https://www.gnu.org/software/bison/manual/bison.html 参考: https://blog.csdn.net/weixin_44705391/article/details/115555161 https://zhuanlan.zhihu.com/p/52326306 https://zhuanlan.zhihu.com/p/120812270 https://zhuanlan.zhihu.com/p/89479111 说明: Unix Le…

【问题解决】大佬亲授的姿势——PlatformIO生成bin文件方法

微信关注公众号 “DLGG创客DIY”设为“星标”,重磅干货,第一时间送达。最近写创客项目程序基本都用PlatformIO(以后简称PIO),PIO在很多方面都优于arduino IDE,今天就不展开了啊,回头专门起一篇文…

【蓝桥杯真题练习】STEMA科技素养练习题库 答案版004 持续更新中~

1、在一个圆形的桌子上,甲和乙轮流摆放硬币。规则是每次每人摆一个,硬币不能互相重叠, 也不能有一部分在桌面边缘之外。若轮到一方摆放硬币时找不到地方摆放,则另一方获胜。假如甲第一个摆放硬币,那么( ) A 甲必胜 B 乙必胜 C 会平局 D 条件不足无法判断 答案:A…

基于PHP的公共课考勤管理系统设计与实现

目录 第一章 概 述 5 第二章 系统的需求分析 10 2.1 系统需求分析 10 1.任务概述 10 2.功能需求 10 2.2 总体设计 11 1.本课题研究的内容 11 2.此系统共分为六个较大的模块: 11 表2 教师信息表(t_infor) 17…

分类算法学习(python)

数据集 调用方式:load_xxxx() 鸢尾花数据集150*4 load_iris() 手写数字load_digits() fetch_xxx() 路透社新闻语料数据集fetch_rev1() (较大的数据集) 实例: #各类信息与房价from sklearn.datasets import load_boston bostonload_boston() print(boston…

ViewModel的基本用法

本来想弄个游戏开始的倒计时,结果用普通方法没弄出来,后来发现需要用LifeCirle可以对页面进行实时更新。于是找了相关教材。 package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity; import androidx.lifecycle.ViewMode…

手机运行慢怎么办

相信很多人在使用手机的时候都会遇到相同的问题手机卡顿!而手机卡顿的原因也有很多,如安装了大量的软件应用,手机使用的年数时间太长,手机的配置以及电池老化,手机用久了之后就会产生一些系统垃圾,这些垃圾…