Shell脚本if else语句小结
和Java、PHP等语言不一样,sh的流程控制不可为空,如:
<?php
if (isset($_GET["q"])) {
search(q);
}
else {
//do nothing
}
?>
在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样:
if condition
then
command1
command2
...
commandN
fi
当然,也可以写成一行(适用于终端命令提示符),像这样:
if test $[2*3] -eq $[1+5]; then echo 'The two numbers are equal!'; fi;
末尾的fi就是if倒过来拼写,后面还会遇到类似的。
if else格式
if condition
then
command1
command2
...
commandN
else
command
fi
if else-if else格式
if condition1
then
command1
elif condition2
command2
else
commandN
fi
if else语句经常与test命令结合使用,如下所示:
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
echo 'The two numbers are equal!'
else
echo 'The two numbers are not equal!'
fi
输出:
The two numbers are equal!
相关推荐
-
基于shell的if和else详解
基本语法 shell的if语法和C语言等高级语言非常相似,唯一需要注意的地方就是shell的if语句对空格方面的要求比较严格(其实shell对所有语法的空格使用都比较严格),如果在需要空格的地方没有打上空格,都会报错.如if [ $1x == "ip"x ];then echo "abc";fi中少一个空格都会报错.另外shell的if语句必须以fi作为结尾,不然同样会报错. 有else和elif时也一样,需要注意空格的问题,下面这个例子可以作为参考 if [ $1
-
linux shell中 if else以及大于、小于、等于逻辑表达式介绍
比如比较字符串.判断文件是否存在及是否可读等,通常用"[]"来表示条件测试. 注意:这里的空格很重要.要确保方括号的空格.笔者就曾因为空格缺少或位置不对,而浪费好多宝贵的时间. if ....; then....elif ....; then....else....fi[ -f "somefile" ] :判断是否是一个文件[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限[ -n "$var" ]
-
Shell脚本if else语句小结
和Java.PHP等语言不一样,sh的流程控制不可为空,如: 复制代码 代码如下: <?php if (isset($_GET["q"])) { search(q); } else { //do nothing } ?> 在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样: 复制代码 代码如下: if condition then command1 command2 ... comma
-
Linux shell脚本编程if语句的使用方法(条件判断)
if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi if 的三种条件表达式 ifcommandthen if 函数then 命令执行成功,等于返回0 (比如grep ,找到匹配)执行失败,返回非0 (grep,没找到匹配)if [ expression_r_r_r ]then 表达式结果为真,则返回0
-
Shell脚本for循环语句简明教程
与其他编程语言类似,Shell支持for循环. for循环一般格式为: 复制代码 代码如下: for 变量名 in 列表 do command1 command2 ... commandN done 当变量值在列表里,for循环即执行一次所有命令,使用变量名获取列表中的当前取值.命令可为任何有效的shell命令和语句.in列表可以包含替换.字符串和文件名. in列表是可选的,如果不用它,for循环使用命令行的位置参数. 例如,顺序输出当前列表中的数字: 复制代码
-
详解shell脚本中的case条件语句介绍和使用案例
#前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句.case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,case看起来更规范和易读 #case条件语句的语法格式 case "变量" in 值1) 指令1... ;; 值2) 指令2... ;; *) 指令3... esac #说明:当变量的值等于1时,那么就会相应的执行指令1的相关命令输出,值等于2时就执行指令2的命令,以此类推,如果都不符合的话
-
Linux Shell脚本面试25问集合
Q:1 Shell脚本是什么.它是必需的吗? 答:一个Shell脚本是一个文本文件,包含一个或多个命令.作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务. Q:2 什么是默认登录shell,如何改变指定用户的登录shell 答:在Linux操作系统,"/bin/bash"是默认登录shell,是在创建用户时分配的.使用chsh命令可以改变默认的shell.示例如下所示: # chsh <user
-
详解程序意外中断自动重启shell脚本(以Python为例)
我们经常需要在后台运行一些python脚本,来监控系统或者做一些其他事情:但是 由于各种各样的原因,排除python脚本代码的问题,脚本运行过程中会挂掉.为了不天天耗在上面等重启,可以制作shell脚本对程序予以监控,对于意外中断的程序自动重启. 以控制 python自动重启的shell脚本为例: cd Desktop vim run.sh #新建名为run的shell脚本 写入(此处以名为run的Python脚本为例) #!/bin/bash while [ 1 ];do python run
-
一篇教会你写90%的shell脚本(入门小结)
shell脚本? 在说什么是shell脚本之前,先说说什么是shell. shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包括ls.cd.pwd等等.总结来说,Shell是一个命令解释器,它通过接受用户输入的Shell命令来启动.暂停.停止程序的运行或对计算机进行控制. shell 是一个应用程序,它连接了用户和 Linux 内核,让用户能够更加高效.安全.低成本地使用 Linux 内核,这就是 Shell 的本质.
-
Shell 脚本自动输入密码的三种方式小结
目录 方式一 方式二 方式三 注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限. 方式一 使用 echo “密码” | (管道符) 使用场景: sudo 命令 在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用 echo "密码" | sudo 命令 比如我需要一键清空服务器,则可以创建一个clear.sh文件(假使我的密码是 123456): echo &quo
-
Shell脚本中执行sql语句操作mysql的5种方法
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境 [root@SZDB ~]# more /etc/issue CentOS release 5.9 (Final) Kernel \r on an \
-
Shell脚本的条件控制和循环语句
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expression 和方括号([ ])之间必须有空格,否则会有语法错误. if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句 if ... else ... fi 语句 if ... elif ... else ... f
随机推荐
- js面向对象 多种创建对象方法小结
- base href 使用方法详解
- 在Golang代码中如何自动生成版本号的方法示例
- 用批处理实现映射盘网络盘为固定盘符,请更改冲突的硬盘盘符
- Redis发布订阅和实现.NET客户端详解
- 实例讲解Java编程中数组反射的使用方法
- Java的JSON转换类库GSON的基础使用教程
- .NET实现在网页中预览Office文件的3个方法
- ASP.NET中TimeSpan的用法实例解析
- ASP.NET中 ListBox列表框控件的使用方法
- 在Python中执行系统命令的方法示例详解
- 利用一个简单的例子窥探CPython内核的运行机制
- 深入理解JavaScript系列(41):设计模式之模板方法详解
- PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
- IIS7中Ajax.AjaxMethod无效的原因及解决方法
- sql server实现在多个数据库间快速查询某个表信息的方法
- JavaScript 事件参考手册
- 基于android startActivityForResult的学习心得总结
- 详解如何拦截iOS所有网络请求
- 用xpath获取指定标签下的所有text的实例