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 5 -p ("请输入一个文件:") filename # -t 等待时间5秒不输入自动退出

if [ -n $filename ];then

echo # 默认用来换行

echo "eg. /etc/fstab"

exit 8

fi

if [ -f $filename ]; then

echo "$filename 是一个普通文件"

exit 0

elif [ -d $filename ];then

echo "$filename 是一个目录文件"

exit 0

else

echo "无法识别"

exit 1

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 0

else

echo "没有这类用户"

exit 1

fi

3、判断某个文件是否存在

#!/bin/bash

# 判断文件是否存在

if [ $# -lt 1 ]; then

echo "至少需要输入一个传参."

exit 1

fi

if [ -e $1 ];then

echo "存在"

else

echo "不存在"

fi

标签:语句,bin,05,shel,echo,exit,Linux,fi,bash

来源: https://www.cnblogs.com/gxnihao/p/11353608.html

linux中判断语句,Linux--shel的if判断语句--05相关推荐

  1. linux中if的作用域,【2017-02-21】分支语句if...else...、分支嵌套、变量的作用域

    语句是指程序命令,都是按照顺序执行的. 语句又分为: 顺序语句:从上到下按顺序执行,挨个执行一遍. 分支语句:选择性执行语句,有的可能会执行,有的可能不执行.满足条件执行. 循环语句: 一.分支语句 ...

  2. linux中ftp用户,linux中怎么添加ftp用户

    Linux下创建用户是很easy的事情了,只不过不经常去做这些操作,时间久了就容易忘记.那么linux中怎么添加ftp用户,下面跟着学习啦小编一起来了解一下吧. linux中怎么添加ftp用户 在li ...

  3. linux中544进程,Linux基础--进程管理及其基本命令

    本文主要讲解Linux中进程管理的基本命令使用方法. 1. top命令 作用: 动态显示进程状态 格式:top [options] 常用选项: -d: 后面可以接秒数,就是整个程序画面更新的秒数, 默 ...

  4. 在Linux中head命令,Linux 中 head 命令实例

    原标题:Linux 中 head 命令实例 head命令将每个文件的前10行打印到标准输出.对于多个文件,在每个文件前面加上一个给出文件名的头.如果没有文件,或者文件为-,则读取标准输入. 如何使用h ...

  5. linux中top工具,Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  6. 在linux中which命令,Linux 中 which 命令怎么用?

    在Linux中which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果,其用法为"which [文件...]",其参数有"-n&q ...

  7. linux中显示进程,linux中怎么显示所有进程

    Linuxlinux中显示所有进程下使用PS命令结合相关参数可以查看linux当前系统下的所有进程.那么linux中怎么显示所有进程呢?接下来大家跟着学习啦小编一起来了解一下的解决方法吧. linux ...

  8. linux中线程ptid,Linux 线程(1)线程创建

    1. 线程 线程是一个轻量化的进程,关于进程与线程的详细概念参见: 进程与线程 线程相比与进程而言,其控制和调度更加灵活,由于同一进程的多个线程共享同一地址空间,因此Text Segment.Data ...

  9. linux中swi指令,Linux系统调用、新增系统调用方法

    说明: 系统调用是内核和应用程序间的接口,应用程序要访问硬件设备和其他操作系统资源,可以通过系统调用来完成. 在linux中,系统调用是用户空间访问内核的一种手段,除异常和中断外,他们是进入内核的合法 ...

  10. linux中权限设置,Linux 权限设置chmod

    Linux中设置权限,一般用chmod命令 1.介绍 权限设置chmod 功能:改变权限命令. 常用参数: 1=x(执行权execute) 2=w(写权write) 4=r(读权Read) setui ...

最新文章

  1. php删除目录下的所有文件和目录
  2. POJ 1068 Parencodings 模拟递归
  3. 视频可以转换html,10 个免费的 HTML 视频转换工具
  4. 企业选择网站建设能够对自身带来哪些作用?
  5. ios c语言头文件,iOS开发 -- C语言基础12(预处理指令)
  6. 为什么一般不将'在制品转出科目'设为初级成本要素
  7. 洛谷P5173 传球(暴力)
  8. android+自定义alertdialog,安卓自定义AlertDialog
  9. 知识选择visual studio 2012 知识笔记
  10. Messari:自2019年,DeFi领域因黑客攻击损失超2.84亿美元资产
  11. Python中lambda的用法及其与def的区别解析
  12. python爬虫:带你游览微博博主的前世今生
  13. 小石坝第一次月赛:A
  14. 2:算法php/go [二分查找 ;二叉树的层序遍历 ;最长无重复子数组]
  15. 倍福--控制雷赛步进电机
  16. (简单明了)透彻理解电压前馈解耦算法
  17. “领域知识图谱的构建与应用”讲座学习笔记
  18. 如何修改Windows10系统文本背景色
  19. 【转】Quartz概述及入门实例
  20. 从零开始实现balloon操作系统(0x02) 加载setup模块

热门文章

  1. tcp协议报文和三次握手与四次挥手
  2. DB2 V10.5 PureScale支持HADR
  3. IOS KVO与NSNotificationCenter简单使用
  4. 2B码农想转做产品,这的规划是否靠谱?
  5. vs2008中使用gdi+的设置
  6. 【回文串5 重点+动态规划】LeetCode 132. Palindrome Partitioning II
  7. 程序员面试金典——3.6双栈排序
  8. 剑指offer——面试题31:连续子数组的最大和
  9. leetcode算法题第二题(c++)
  10. python小trick持续更新~