linux脚本两个分号,Linux Shell中各种分号和括号的用法总结
各种括号的用法总结如下
1.Shell中变量的原形:${var}
大家常见的变量形式都是$var
2.命令替换$(cmd)
命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是ESC下面的那个键)有相同之处
3.一串的命令执行()和{}
()和{}都是对一串的命令进行执行,但有所区别:
A,()只是对一串命令重新开一个子shell进行执行
B,{}对一串命令在当前shell执行
C,()和{}都是把一串的命令放在括号里面,并且命令之间用;号隔开
D,()最后一个命令可以不用分号
E,{}最后一个命令要用分号
F,{}的第一个命令和左括号之间必须要有一个空格
G,()里的各命令不必和括号有空格
H,()和{}中括号里面的某个命令的重定向只影响该命令,但括号外的重定向则影响到括号里的所有命令
4,几种特殊的替换结构:${var:-string},${var:+string},${var:=string},${var:?string}
5.POSIX标准的扩展计算:$((exp))
这种计算是符合C语言的运算符,也就是说只要符合C的运算符都可用在$((exp)),甚至是三目运算符和for语句。
注意:这种扩展计算是整数型的计算,不支持浮点型.若是逻辑判断,表达式exp为真则为1,假则为0。
6.四种模式匹配替换结构:${var%pattern},${var%%pattern},${var#pattern},${var##pattern}
这四种结构的意义是:${var%pattern}和${var%%pattern}表示从最右边(即结尾)匹配的,${var#pattern} 和${var##pattern}从最左边(即开头)匹配的。其中${var%pattern}和${var#pattern}是最短匹配,${var%%pattern}和${var##pattern}是最长匹配。只有在pattern中使用了通配符才能有最长最短的匹配,否则没有最长最短匹配之分。
7.[ 和 [[
$ type [ [[ test
[ is a shell builtin
[[ is a shell keyword
test is a shell builtin
各种引号的用法总结如下
1、 单引号 ‘
由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。
2、 双引号 “
由双引号括起来的字符,除$、\、’、和”这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。对于$来说,就是用其后指定的变量的值来 代替这个变量和$;对于而言,是转义字符,它告诉shell不要对其后面的那个字符进行特殊处理,只当作普通字符即可。可以想见,在双引号中需要在前面加 上的只有四个字符$,,’和”本身。而对”号,若其前面没有加,则Shell会将它同前一个”号匹配。
linux脚本两个分号,Linux Shell中各种分号和括号的用法总结相关推荐
- linux 脚本 expected,使用expect实现shell中scp自动输入密码
使用expect实现shell中scp自动输入密码 前段时间有一个需求,要实现一个自动备份脚本,因为不需要全部备份,所以没有使用rsync,在这里使用scp.因为scp需要输入用户密码,在网上查了好多 ...
- linux脚本自动终止,如何让shell中某语句执行错误就能自动退出
写出健壮的 Bash 脚本 http://www.oschina.net/news/26744/build-robust-bash-script 写出健壮的 Bash 脚本 79人收藏此新闻, 我要收 ...
- linux脚本添加source,shell中的source命令的巧妙用法
首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...
- Linux Shell中各种分号和括号的用法总结
[日期:2011-02-21] 来源:Linux社区 作者:破烂熊 [字体:大 中 小] 各种括号的用法总结如下 1.Shell中变量的原形:${var} 大家常见的变量形式都是$var 2.命令替 ...
- linux shell中各种分号和括号,linux shell 各种分号,括号使用方法总结
各种括号的用法总结如下 1.Shell中变量的原形:${var} 大家常见的变量形式都是$var 2.命令替换$(cmd) 命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是E ...
- linux脚本获取日期格式,关于shell脚本中的bash:yyyy-mm-dd格式日期
我尝试在bash shell脚本中使用$(date),但是我希望日期采用YYYY-MM-DD格式.我怎么得到这个? 在巴什: 从date获取年-月日 DATE=`date +%Y-%m-%d` GET ...
- ue 编写linux脚本,通过什么工具编写shell脚本更方面直观
刚开始学习写shell脚本,现在主要是通过vi编辑器,但感到很不方便和直观.通过UtralEdit倒是方便但不直观,比如shell编程中的关键字不能醒目出来.想请教一下各位大虾,有没有这么类似于像vc ...
- linux脚本无法执行命令,为什么Shell脚本执行不成功?原来是这样
Shell脚本语言是linux系统中内置的一门非常强大的语言,非常善于处理操作系统层面的应用,我们从网上下载的很多应用的安装和启动往往都是用Shell脚本语言写的.可是初步开始使用linux的小伙伴是 ...
- linux脚本空格转义,转义linux shell参数
我试图摆脱它们之间有空格的shell参数之间的"{}"字符.例如: ./cod4_start.sh hello 28960"HOSTNAME WITH SPACES&qu ...
- linux join两个文件,Linux使用join -a1来合并两个文件
Linux使用join -a1来合并两个文件 要合并以下两个文件,一起合并在一起,合并到1.txt中 # 1.txt Jerry 20 Alice 30 David 40 # 2.txt Jerry ...
最新文章
- 利刃 MVVMLight 8:DispatchHelper在多线程和调度中的使用
- 快要普通话考试了,急需最后一题的根据话题自由讲话的演讲稿!(不要那些已经被用过...
- JDBC: Java连接MySQL
- [Qt教程] 第18篇 2D绘图(八)双缓冲绘图
- 代码阅读 | torch.sort函数
- php session写入数据库_php session 写入数据库,phpsession
- oracle 12542,TNS-12542: TNS:address already in use
- 使用 hexo-git-backup 插件备份你的 Hexo 博客
- react里面的this_React 为啥要绑定this
- [sqlite] android create db in SD card
- JXLS 2.4.0学习
- 15款优雅的 WordPress 电子商务网站主题
- 分享4个不错的软件资源下载网站(值得珍藏)
- Node.js - npm下载包速度慢的问题及解决
- jsonp原理详解——终于搞清楚jsonp是啥了
- 道一MD5校验工具发布
- 9.14-hspice使用方法
- “2019/10/17创新创业工坊第六期第二课”心得体会
- 南昌大学计算机学硕和专硕,南昌大学同等学力是专硕还是学硕
- 关于前端代码埋点数据上报的实现
热门文章
- 痞子衡嵌入式:ARM Cortex-M内核那些事(3.2)- 安全模块看特性(M23/33/35P)
- 使用函数判断完全平方数
- linux修改dns地址的三种方法
- html获取本机ip,获取本机IP地址的实例(JavaScript / Node.js)
- 霸榜11个月,神车MINI EV进退两难!
- Alios-Things之wifi模块二次开发-(1)搭建Alios-Things开发环境(基于ubuntu 16.0.4)
- Matlab画图技巧: 不需要敲代码的傻瓜式操作流程
- “单细胞”中研究APC/CCDH1失活调控细胞周期起始的分子机制
- VMware虚拟机安装macOS黑苹果教程,亲测流程,全过程问题解决方案记录
- ArcGis批量裁剪栅格图层