Shell脚本中的分号使用
在Linux中,语句中的分号一般用作代码块标识
1、单行语句一般要用到分号来区分代码块,例如:
if [ "$PS1" ]; then echo test is ok; fi
test is ok
该脚本或命令行中,需要两个分号才为正确的语句,第一个分号是then前的分号,用于标识条件块结束,第二个分号在fi前,用于标识then块结束,如果缺少这两个分号,则程序执行错误。
这里有趣的是echo后的字符串不需要使用引号也能正确地被识别。
注意:语句结尾不要分号。
2、该代码若写作多行,用换行符来区分代码块,则无需用到分号,例如:
if [ "PS1" ]
> then echo "test is ok"
> fi
test is ok
从这个例子可看出if判断语句分if块,then块,fi结束标识。当然还有可能有else if块,例如:
if [ "$PS1" ]
> then echo test is ok
> elif [ "$PS2" ]
> then echo here
> fi
test is ok
注意:这里要使用elif,而不使用esle if,若使用else if,则为不完整语句,如下面的例子不能被正确执行:
if [ "$PS1" ]
> then echo test is ok
> else if [ "$PS2" ]
> then echo here
> else
> echo ""
> fi
>
敲回车后,shell程序认为句子没有完成,继续等待输入。
总结:
如果写成单行,需要用分号进行区分,如果写成块,那么则用换行符替代了分号。
参考:
http://blog.csdn.net/hongweigg/article/details/32081235(以上内容转自此篇文章)
Shell脚本中的分号使用的更多相关文章
- shell脚本中常见的一些特殊符号和作用详解
这篇文章主要介绍了shell脚本中常见的一些特殊符号和它的作用详解,总结的很简洁,容易看懂,需要的朋友可以参考下 在编写Shell脚本时,我们需要会用到各种各样的特殊符号,通过这些特殊符号可以使我 ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- shell脚本中的反引号使用 `
反引号是~的英文切换 在shell脚本中,反引号允许将shell命令的输出赋值给变量. test=`date` 这样shell会执行反引号中的命令.并将执行的结果赋值给变量tests.
- Shell脚本中执行mysql的几种方式(转)
Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用 ...
- Shell脚本中执行sql语句操作mysql
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的 ...
- Shell脚本中判断输入参数个数的方法投稿:junjie 字体:[增加 减小] 类型:转载
Shell脚本中判断输入参数个数的方法 投稿:junjie 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Shell脚本中判断输入参数个数的方法,使用内置变量$#即可实现判断输入了多少个参数 ...
- 【转】shell脚本中echo显示内容带颜色
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e.格式如下: echo -e "\033[41;36m something here \033[0m&qu ...
- 在shell脚本中使用函数
转载请标明:http://www.cnblogs.com/winifred-tang94/ 对于在脚本中重复使用的功能模块,可以封装成为函数. shell脚本中函数的定义可以使用如下两种方式: a. ...
- 在shell脚本中进行条件控制以及使用循环
转载请标明:http://www.cnblogs.com/winifred-tang94/ if条件语句语法: if [ 条件表达式 ] then 代码 else 代码 fi 注意:在上面的if条件语 ...
随机推荐
- php代码画足球场
用代码画了个足球场 原图: 代码画出的效果图: 代码如下: // 创建一个 200X200 的图像 $img = imagecreate(800, 500); // 分配颜色 $bg = imagec ...
- 关于 python中的转义字符
"abc\n" 前面加 r,表示原生输出,不转义.实际上是用 \代替 \\,其实是已经转义过了,并不是不转义. 看这个例子: print(r"abc \n") ...
- vue-cli+webpack+router+vuex---之vuex使用
有信心的可以去看官方的文档 vue 的官方文档有个显著的特点---代码粘贴不全 Vue中文站:cn.vuejs.org vue-router官方教程:router.vuejs.org/zh-cn vu ...
- 主席树 || 可持久化线段树 || BZOJ 3653: 谈笑风生 || Luogu P3899 [湖南集训]谈笑风生
题面:P3899 [湖南集训]谈笑风生 题解: 我很喜欢这道题. 因为A是给定的,所以实质是求二元组的个数.我们以A(即给定的P)作为基点寻找答案,那么情况分两类.一种是B为A的父亲,另一种是A为B的 ...
- JSON.parse()和JSON.stringify()的解析与用途
JSON.parse()和JSON.stringify()的解析与用途 1.parse用于从一个字符串中解析出json对象 如: var str = '{"name":" ...
- 一招制敌 - 玩转 AngularJS 指令的 Scope (作用域),讲得特别好
学习了AngularJS挺长时间,最近再次回首看看指令这部分的时候,觉得比自己刚开始学习的时候理解的更加深入了,尤其是指令的作用域这部分. 步入正题: 每当一个指令被创建的时候,都会有这样一个选择,是 ...
- Linux内核态用户态相关知识 & 相互通信
http://www.cnblogs.com/bakari/p/5520860.html 内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境. 系统调用是操作系统的最小功能 ...
- 16.4-uC/OS-III同步 (任务信号量)
信号量和消息队列均是单独的内核对象,是独立于任务存在的. 任务信号量 仅发布给一个特定任务 .任务消息队列 可以发布给多个任务. 任务信号量伴随任务存在,只要创建了任务,其任务信号量就是该任务的一个数 ...
- 保存退出vi编辑
保存命令按i进入编辑模式,编辑完成按ESC键 跳到命令模式,然后: :w 保存文件但不退出vi:w file 将修改另外保存到file中,不退出vi:w! 强制保存,不推出vi:wq 保存文件并退出v ...
- Ubuntu上Qt+Tcp网络编程之简单聊天对话框
首先看一下实现结果: >>功能: (1)服务器和客户端之间进行聊天通信: (2)一个服务器可同时给多个客户端发送消息:(全部连接时) 也可以只给特定的客户端发送消息:(连接特定IP) ...