首页 > 系统相关 >Shell | 判断语句

Shell | 判断语句

时间:2023-07-13 10:33:20浏览次数:27  
标签:语句 case Shell 输出 sh echo 判断 fi

if判断

基本语法:

(1)单分支

if [ 条件判断式 ];then
	程序
fi

或者

if [ 条件判断式 ]
then
	程序
fi

(2)多分支

if [ 条件判断式 ]
then
	程序
elif [ 条件判断式 ]
then
	程序
else
	程序
fi 

注意事项:

​ ①[ 条件判断式 ],中括号和条件判断式之间必须有空格

​ ②if 后要有空格

例如:输入一个数字,如果是 1,则输出 hello1,如果是 2,则输出 hello2,
如果是其它,什么也不输出。

$ touch if.sh
$ vim if.sh

#!/bin/bash
if [ $1 -eq 1 ]
then
echo "hello1"
elif [ $1 -eq 2 ]
then
echo "hello2"
fi
$ chmod 777 if.sh
$ ./if.sh 1
hello1

case语句

基本语法:

case $变量名 in
"值 1")
	如果变量的值等于值 1,则执行程序 1
;;
"值 2")
	如果变量的值等于值 2,则执行程序 2
;;
	…省略其他分支…
*)
	如果变量的值都不是以上的值,则执行此程序
;;
esac

注意事项:

(1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。

(2)双分号“;;”表示命令序列结束,相当于 java 中的 break

(3)最后的“*)”表示默认模式,相当于 java 中的 default

例如:输入一个数字,如果是 1,则输出 banzhang,如果是 2,则输出 cls,如果是其它,输出
renyao。

$ touch case.sh
$ vim case.sh
!/bin/bash
case $1 in
"1")
	echo "banzhang"
;;
"2")
	echo "cls"
;;
*)
	echo "renyao"
;;
esac
$ chmod 777 case.sh
$ ./case.sh 1
1

标签:语句,case,Shell,输出,sh,echo,判断,fi
From: https://www.cnblogs.com/zhangxuegold/p/17549735.html

相关文章

  • python-pymysql-类对象映射为sql语句
    查询语句importpymysqlclassUserQuery:def__init__(self,name=None,age=None,email=None):self.name=nameself.age=ageself.email=emaildefselect_data(table,condition):#连接到数据库connection=pymysql.connec......
  • 1.8 运用C编写ShellCode代码
    在笔者前几篇文章中,我们使用汇编语言并通过自定位的方法实现了一个简单的MessageBox弹窗功能,但由于汇编语言过于繁琐在编写效率上不仅要考验开发者的底层功底,还需要写出更多的指令集,这对于普通人来说是非常困难的,当然除了通过汇编来实现ShellCode的编写以外,使用C同样可以实现编写,......
  • 使用SQL语句写递归查询
    要编写递归SQL语句,你可以使用通用表达式(CommonTableExpressions,CTE)和递归查询功能。CTE允许在SQL查询中定义临时的命名查询,并且可以在查询内部引用自身。以下是一个示例来演示如何编写递归SQL语句:假设有一个员工表employees,其中包含列id、name和manager_id,表示员工......
  • ansible shell模块简单使用
    ansibleshell模块简单使用参数参数说明chdir运行命令前先CD到该目录cmd运行的命令creates存在某个文件就不运行命令executable更改执行命令的shell路径,需要是绝对路径free_formTheshellmoduletakesafreeformcommandtorun,asastring.The......
  • 【Python】对密码文本进行加密, 并判断 hashlib
    importhashlibdefencrypt_password(password,salt):#创建一个sha256的哈希对象sha256_hash=hashlib.sha256()#将盐值和密码组合起来并进行哈希hashed_password=salt.encode('utf-8')+password.encode('utf-8')sha256_hash.update(hashed_......
  • C#如何判断为空
    1.使用null合并运算符(??)该运算符用于判断左侧的操作符是否为null,如果为null,则返回右侧的操作数,否则返回左侧的操作数。stringstr=null;stringresult=str??"default";2.使用null条件运算符(?.)该运算符用于判断是否为null,如果不是,则执行后面的成员访问操作;如......
  • C# OleDb判断ACCESS中是否存在表
    添加引用 代码加入引用 代码如下///<summary>///公有数据库连接对象///</summary>publicOleDbConnectionUseConn{get{returnuseConn;}set{useConn=value;}}//......
  • Shell 编程常用参考
    Shell特殊变量$0,$#,$*,$@,$?,$$和命令行参数Shell中的特殊变量参考如下表:变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2$#传递给脚本或函数的参数个数$*传递给脚本或函数......
  • MySql开启日志 --记录每条执行的SQL语句
    --第一条SETGLOBALlog_output='TABLE';SETGLOBALgeneral_log='ON';--在重启mysql重启Mysql详情请看:(10条消息)如何重启MySQL,正确启动MySQL_mysqlrestart_wuyepiaoxue789的博客-CSDN博客--重启完成之后可以去数据库`Mysql`中的general_log表里查看,也可以执行一下的......
  • linux shell脚本实现删除连续的空行为一行
     001、awk实现[root@PC1test02]#lsa.txt[root@PC1test02]#cata.txt##测试数据010203040506070809101112131415161718192021222324252627282930##将多个连续的空行压缩为一个空行[root@PC1tes......