shell if/then/elif/else/fi
shell中用if/then/elif/else/fi实现分支控制,本质上是由若干条shell命令组成。
例如
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi
如果两条命令需要在同一行写,那么用;隔开,一行只写一个命令则不需要用;隔开。
命令与各参数之间需要用空格隔开。
if 后面的子命令,如果该命令的exit status为0则表示为真,则执行then后面的子句。
如果为假那么则执行elif,else或者fi后面的子命令。
这个子命令通常为测试命令。shell脚本中没有{},所以用fi来表示if语句块的结束。
#! /bin/shif [ -f /bin/basn ]
then echo "/bin/bash is a file"
else echo "/bin/bash is NOT a file"
fi
if :;then echo "always true";fi
:是一个空命令,这个命令不做任何事情,结果永为真。此外,也可以执行/bin/true或/bin/false得到真或假的exit status
#!/bin/shecho "Is It morning? Please answer yes or no"
read YES_OR_NO
if [ "$YES_OR_NO"="yes" ];then
echo "Good morning!"
elif [ "YES_OR_NO"="no" ];then
echo "Good afternoon!"
else
这个例子中,read命令的作用是等待用户输入一个字符串,将该字符串储存在shell变量之中。
shell提供了&&与||语法,与C语类似,具有Short-circuit特性
&&的作用相当于if then
|| 相当于if not.....then
例如
[root@localhost ~]# test "$(whoami)"!="root" && (echo you are using a non-privileged account; exit 1)
you are using a non-privileged account[root@localhost ~]# test "$(whoami)"!="root" || (echo you are using a non-privileged account; exit 1)
[root@localhost ~]# #一个执行了后面的语句另一个并没有
shell if/then/elif/else/fi相关推荐
- ubuntu中的fi语法_Shell脚本语法--if/then/elif/else/fi
Shell脚本语法--if/then/elif/else/fi 和C语言类似,在Shell中用if.then.elif.else.fi这几条命令实现分支控制.这种流程控制语句本质上也是由若干条Shel ...
- Linux学习 分支(if-then fi, if then elif then fi, case in );;easc
1.if-then语句 if command then commands fi 如果command执行成功,exit 0的话 then条件成立,then 内的命令执行. 2.if-then-else ...
- if...elif...else...fi和case...esac的脚本条件判断式
注意1: if 表达式和case 表达式的区别及什么时候使用哪个要有明确的区分? 『 if .... then .... fi 』对于变量的判断是以『比对』的方式来分辨的, 如果符合状态就进行某些行为 ...
- [Bash Shell] Shell学习笔记
1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...
- shell脚本常用的4种流程控制语句
if条件测试语句 if条件测试语句可以让脚本根据实际情况自动执行相应的命令.从技术角度来讲,if语句分为单分支结构.双分支结构.多分支结构:其复杂度随着灵活度一起逐级上升. 1.if条件语句的单分支结 ...
- Linux Shell 编程学习总结
Shell 教程 Shell简介:什么是Shell,Shell命令的两种执行方式 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成 ...
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载
http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html nux shell有一套自己的流程控制语句,其中包括条件语句(if),循环 ...
- 复习(一)—— Shell基本编程
Linux体系中的shell编程在实现系统管理与维护.系统使用.用户环境定制等方面作用突出. 使用shell写的程序通常也称为脚本. 在用户主目录中,在/etc目录中,随处可见脚本文件. 脚本是由各种 ...
- Shell教程(四):条件语句、循环语句、break/continue
在编写shell脚本,有可能是一种情况,当你需要采取一个路径两条路径.所以,需要利用条件语句,让程序作出正确的决策和执行正确的动作. UNIX Shell支持条件语句,从而根据不同的条件下执行不同的操 ...
最新文章
- 刻意练习:LeetCode实战 -- Task21. 二叉树的最大深度
- JavaScript 模拟事件触发
- codeforces1454 F. Array Partition
- DRF数据验证+数据存储
- JVM优化系列-常用GC参数总结
- [JS] - onmusewheel事件(兼容IE,FF)
- 三类MySQL_Mysql中的三类锁,你知道吗?
- java对象序列化为字符串
- html按钮突出效果,这10个按钮,把 CSS HOVER 的创意发挥到极致了
- 后台返回整个html转换成页面链接,利用html5的history.replaceState修改当前页面的URL...
- Trie图的学习过程
- python 简单的接口测试框架
- 网络流二十四题之魔术球问题
- mysql版 雪花算法_雪花算法如何生成id
- 论文阅读《Camera pose voting for largescale image-based localization》
- 弗吉尼亚大学计算机就业如何,假设你是新华中学的学生李华,高中毕业后想到美国弗吉尼亚大学(University of Virginia)计算机专业深造...
- InnoDB Buffer Pool 缓冲池详解
- scala面向对象总结
- 谷歌前产品经理Michael Levin加入Lightning Labs担任产品增长主管
- iOS开发创建App内购买项目发现元数据丢失
热门文章
- 小程序获取视频第一帧
- C语言函数指针和返回指针值的函数
- linux svn 查看忽略文件,SVN忽略文件或文件夹几种方法总结linux操作系统 -电脑资料...
- halcon中怎么降低图像亮度_图像亮度调整
- C语言char类型的存储
- 无法下载图片 App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insec
- matlab里surf函数,matlab surf 函数画3维图
- 计算机应用基础0006 19春在线作业1,《计算机应用基础0006》19春在线作业1 为了实现自动控制处理 需要计算机具有的基础条件是...
- 根据前序遍历和中序遍历创建二叉树
- 字符串复制的两种方法