linux 中的if  else语句

在shell中。if语句有三种形式,如下:

第一种:

if  condition

then

command

else

command

在这种形式中,其中和c语言不同到是,condition实际上是一个语句列表,而不是一般的布尔表达式(也就是,最后到判断是以condition退出的状态为判断依据,0表示真,非0表示假,这和c语言中恰好相反)。

在shell中命令或者函数在退出时都会返回一个小小的整数给调用他的程序,这是命令的退出状态。

一下看一个例子:

以上例子中:head -1 /etc/passwd 的返回状态为0,表示真

head -1 /etc/shadow  的返回状态为1,表示假

我们新建一个文件judge.sh,写入以下代码:

judge(){

if head -1 /etc/passwd

then

echo 'true'

else

echo 'false'

fi

}

judge

执行结果:

可以看到打印出true,

将以上函数的if head -1 /etc/passwd 改为if  head -1 /etc/shadow

执行结果:

第二种:

大多数情况下,可以使用测试命令(test)来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等,test命令也可以[ ]来代替,这是他的另一种形式。

例如 :if  test  2>3  等价于  if  [ 2>3 ](注意[ ]的开始和结束都有空格,打于符号2和3之间没有空格)

将以上函数改为:

judge(){

if test   "aaa" = "bbb"

then

echo 'true'

else

echo 'false'

fi

}

judge

执行结果:

第三种(即使通与test的另一种形式):

将if test   "aaa" = "bbb" 改为  if [ "aaa" = "bbb"]

执行结果:

注意:if  test  2>3  与 if  test  2 > 3 是有 区别的,注意比较符号之间的空格

if [ 2>3 ]  与 [ 2 > 3 ]  也是有区别的,同上

if else语句linux,linux 中的if else语句相关推荐

  1. pythonfor循环语句例子_Python中的for循环语句

    for循环 for..in是另外一个循环语句,它在一序列的对象上 递归 即逐一使用队列中的每个项目. 使用for语句 案例: fori inrange(1,5):print(i)else:print( ...

  2. 开发中常用的linux语句,MySQL开发中常用的查询语句总结

    1.查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,,!=,!>,!,=< 2.查询字符串 SELECT * ...

  3. oracle查大事务语句,查询Oracle 中死事务的语句

    查询Oracle 中死事务的语句 SQL> SELECT KTUXEUSN, KTUXESLT, KTUXESQN, /* Transaction ID */ 2  KTUXESTA Statu ...

  4. ef执行原生sql语句_EF Core中执行原生SQL语句

    一.课程介绍之所以今天录制这个系列文章的主要原因是,想在快速帮助到大家上手在ASP.NET Core WebAPI中结合EF Core来操作我们的数据库.EF Core的基础文章和基础课程实在是太多了 ...

  5. c语言输入循环语句,C语言中输入输出和循环语句详解.ppt

    C语言中输入输出和循环语句详解 C语言的输入输和循环分支语句详解 本章主要向大家介绍下C语言的输入和输出功能以及循环分支语句的使用 第4章 顺序结构程序设计 3.1 C语言语句 3.2 赋值语句 3. ...

  6. pythonif语句缩进_Python中多行IF语句缩进的代码样式?

    参见英文答案 > Python style: multiple-line conditions in IFs                                    27个答案   ...

  7. python while循环语句-谈谈Python中的while循环语句

    前言 python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组. ...

  8. 哪些语句在python中非法_下列语句中,在Python中是非法的

    下列语句中,在Python中是非法的 答:x=(y=z+1) 优学院: 大学生作为改革创新的生力军,应从()起步 答:学习扎实系统的专业知识 马克思.恩格斯在( < >)中充分肯定了资本主 ...

  9. mysql in语句 索引,MySQL 中索引相关 SQL 语句

    索引是用来加快从数据库中查询数据的速度的. 需要注意的是索引的使用会增加插入和更新的时间,因为在插入数据的同时也会更新索引.所以在创建索引时确保只在那些频繁作为查询条件的列中增加. 创建索引 创建索引 ...

  10. linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法

    一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...

最新文章

  1. 关于Cocos2d-x很多奇怪的报错
  2. 疯狂ios之疯狂打飞机游戏(3)
  3. 再次探扩展-对xVal进行扩展解决验证不同步的问题
  4. c++类与类的组合关系(Combination)关系
  5. 【渝粤教育】广东开放大学 知识产权法 形成性考核 (34)
  6. java编译机制_java的编译机制
  7. 挑战 Oracle 的全球首个 AI 原生数据库 GaussDB,华为将开源
  8. android中一些常用的VIEW动作类型
  9. python 网页设计_使用Python制作获取网站目录的图形化程序
  10. 【转】 叫人起床的学问
  11. 先码后看,程序员的「双节」该买点什么?
  12. 腾讯企业邮箱的邮局服务器设置,网易邮件客户端如何配置腾讯企业邮箱 并设置服务器邮件同步-♚付涛纪实阁♚...
  13. 图片工厂设置背景颜色
  14. matlab subs命令,Matlab中subs函数
  15. java程序员进阶必读书单
  16. Linux ● 文件操作指令
  17. Bea Webblogic
  18. 【半导体先进工艺制程技术系列】SOI技术(下)
  19. CentOS安装配置DNSMasq
  20. mysql的配置文件的各项参数意思

热门文章

  1. 使用rem进行页面适配
  2. python模块之wordcloud
  3. linux安装svn(yum安装)
  4. Linux操作系统进程模型分析
  5. Oracle HA 之 SERVICE和DRM实战
  6. SignalR---DOTNET客户端
  7. Android 模拟机键盘不可用的问题 !!
  8. mysql启动成功但是没有进程_zabbix_server表面启动成功,但是没有进程
  9. C++之std::bind()用法
  10. Win10使用FFmpeg操作Camera(十)