Linux--shel的if判断语句--05
一、if条件语句的使用格式:
1、单分支语句
if [ 条件 ];then
执行语句
fi
注意:[ 条件 ] :条件与中括号要用空格分割;下面的语句同理。
2、双分支语句
if [ 条件 ];then
执行语句1
else
执行语句2
fi
3、多分支语句
if [ 条件 ];then
执行语句1
elif;then
执行语句2
elif;then
执行语句3
else
执行语句4
fi
退出码: exit
在某些条件判断下,如果不满足该条件,我们必须手动退出程序,否则后面的代码无法执行;
代码正确执行完成后,指定 exit 0 为正确退出码;
代码执行错误时,指定 exit 0-255 之间任意一个数值表示错误退出。
练习:
1、给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”
#!/bin/bash
#
read -t -p ("请输入一个文件:") filename # -t 等待时间5秒不输入自动退出
if [ -n $filename ];then
echo # 默认用来换行
echo "eg. /etc/fstab"
exit
fi if [ -f $filename ]; then
echo "$filename 是一个普通文件"
exit
elif [ -d $filename ];then
echo "$filename 是一个目录文件"
exit
else
echo "无法识别"
exit
fi
2、判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多少个这类用户,否则就显示没有这类用户;【并且显示出那些用户是bash】
#!/bin/bash
# 判断用户的默认shell程序类型 declare -i sum=`grep "bin/bash$" /etc/passwd | wc -l` #定义一个数值型变量sum if grep "/bin/bash$" /etc/passwd &> /dev/null ; then
echo "存在 $sum 个用户,shell程序为/bin/bash"
grep "/bin/bash$" /etc/passwd | cut -d: -f1
exit
else
echo "没有这类用户"
exit
fi
3、判断某个文件是否存在
#!/bin/bash
# 判断文件是否存在
if [ $# -lt ]; then
echo "至少需要输入一个传参."
exit
fi if [ -e $ ];then
echo "存在"
else
echo "不存在"
fi
二、case语句
1、case语句语法格式:
case 变量 in
PATTEN1) # PATTERN支持文件统配符
代码块1
;;
PATTEN2)
代码块2
;;
*)
默认执行语句
;;
esac
2、练习
read -p 'Input a number:' Num
case $Num in
) echo 'You select 1'
;;
) echo 'You select 2'
;;
) echo 'You select 3'
;;
|) echo 'You select 4 or 5'
;;
*) echo 'default'
;;
esac
Linux--shel的if判断语句--05的更多相关文章
- linux实操_shell判断语句
常用判断条件: (1)两个数的比较 = 字符串的比较 -lt 小于 -le 小于等于 -eq 等于 -gt 大于 -ge 大于等于 -ne 不等于 (2)按照文件权限进行判断 -r 有读的权限 -w ...
- linux条件测试操作(test)和if判断语句,while循环语句,break控制语句和for循环和case多分枝语句和select语句
条件测试操作 条件测试是专为影响"$?"的操作,是条件转移.循环语句的基础 test测试命令: test 用途:测试特定的表达式是否成立,当条件成立时,命令执行后的返回值为0, ...
- linux shell中的条件判断语句
http://bbs.chinaunix.net/thread-396805-1-1.html shell 判断语句 流程控制 "if" 表达式 如果条件为真则执行then后面的部 ...
- shell编程基础(3)条件判断语句
1,带参数的shellscript #this is program build 5.11 to test shell script ############ cxz ####### 5.11 ### ...
- python笔记:#009#判断语句
判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?-- 程序 ...
- 一文了解Python中的判断语句
判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?…… 程序 ...
- puppet(3) 变量、数据类型、表达式、条件判断语句-if、case、selector、unless
puppet(4) 变量.数据类型.表达式.条件判断语句-if.case.selector语句 puppet变量: 1.名称必须以$开头:赋值使用=,支持追加赋值+=: 2.每个变量都有两种引用格式: ...
- python中的if判断语句
判断(if)语句 目标 开发中的应用场景 if 语句体验 if 语句进阶 综合应用 01. 开发中的应用场景 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这样?如果那样?……  ...
- C#开发Unity游戏教程之判断语句
C#开发Unity游戏教程之判断语句 游戏执行路径的选择——判断 玩家在游戏时,无时无刻不在通过判断做出选择.例如,正是因为玩家做出的选择不同,才导致游戏朝着不同的剧情发展,因此一个玩家可以对一个游戏 ...
随机推荐
- 多线程总结-同步之synchronized关键字
目录 1.为什么要使用synchronized? 2.synchronized锁什么,加锁的目的是什么? 3.代码示例 3.1锁this和临界资源对象 3.2锁class类对象 3.3 什么时候锁临界 ...
- springmvc上传文件踩过的坑
@RequestMapping("/addTweet") public String addTweet(TweetVO tweetVO, HttpServletRequest re ...
- Latch设计模式
import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; public class Te ...
- Zeppelin0.5.6使用spark解释器
Zeppelin为0.5.6 Zeppelin默认自带本地spark,可以不依赖任何集群,下载bin包,解压安装就可以使用. 使用其他的spark集群在yarn模式下. 配置: vi zeppelin ...
- apache自动打包日志脚本
#!/bin/bash # apachedata=$(date +%Y%m%d) time=$(date +%Y%m%d%H --date='1 hour ago') cd /logs/apache/ ...
- Docker 工作原理及容器化简易指南
Docker 非常棒! 它使软件开发者无需担心配置和依赖性,在任何地方打包,发送和运行他们的应用程序.而在与 Kubernetes 相结合后,它使应用集群部署和管理变得更方便.这使得 Docker 深 ...
- Linux系统安装Tomcat——.tar.gz版
1.rpm.deb.tar.gz的区别: rpm格式的软件包适用于基于Red Hat发行版的系统,例如Red Hat Linux.SUSE.Fedora. deb格式的软件包则是适用于基于Debian ...
- HttpServlet cannot be resolved to a type 解决办法
刚开始学习Servlet,在Eclipse中新建了一个Servlet,不过页面上报错: Httpservlet cannot be resolved to a type,显然是Eclipse找不到相应 ...
- 50 行 Python 代码,带你追到女神
今天来给大家分享一个撩妹技巧,利用 python 每天给你最心爱的人,发送微信消息,说声晚安. 废话不多说,源代码奉上 def get_news(): ... url = "http://o ...
- spark 源码分析之十--Spark RPC剖析之TransportResponseHandler、TransportRequestHandler和TransportChannelHandler剖析
spark 源码分析之十--Spark RPC剖析之TransportResponseHandler.TransportRequestHandler和TransportChannelHandler剖析 ...