各种括号的用法总结如下

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中各种分号和括号的用法总结相关推荐

  1. linux 脚本 expected,使用expect实现shell中scp自动输入密码

    使用expect实现shell中scp自动输入密码 前段时间有一个需求,要实现一个自动备份脚本,因为不需要全部备份,所以没有使用rsync,在这里使用scp.因为scp需要输入用户密码,在网上查了好多 ...

  2. linux脚本自动终止,如何让shell中某语句执行错误就能自动退出

    写出健壮的 Bash 脚本 http://www.oschina.net/news/26744/build-robust-bash-script 写出健壮的 Bash 脚本 79人收藏此新闻, 我要收 ...

  3. linux脚本添加source,shell中的source命令的巧妙用法

    首先,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录.例如,当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如sourc ...

  4. Linux Shell中各种分号和括号的用法总结

    [日期:2011-02-21] 来源:Linux社区  作者:破烂熊 [字体:大 中 小] 各种括号的用法总结如下 1.Shell中变量的原形:${var} 大家常见的变量形式都是$var 2.命令替 ...

  5. linux shell中各种分号和括号,linux shell 各种分号,括号使用方法总结

    各种括号的用法总结如下 1.Shell中变量的原形:${var} 大家常见的变量形式都是$var 2.命令替换$(cmd) 命令替换$(cmd)和符号`cmd`(注意这不是单引号,在美式键盘上,`是E ...

  6. linux脚本获取日期格式,关于shell脚本中的bash:yyyy-mm-dd格式日期

    我尝试在bash shell脚本中使用$(date),但是我希望日期采用YYYY-MM-DD格式.我怎么得到这个? 在巴什: 从date获取年-月日 DATE=`date +%Y-%m-%d` GET ...

  7. ue 编写linux脚本,通过什么工具编写shell脚本更方面直观

    刚开始学习写shell脚本,现在主要是通过vi编辑器,但感到很不方便和直观.通过UtralEdit倒是方便但不直观,比如shell编程中的关键字不能醒目出来.想请教一下各位大虾,有没有这么类似于像vc ...

  8. linux脚本无法执行命令,为什么Shell脚本执行不成功?原来是这样

    Shell脚本语言是linux系统中内置的一门非常强大的语言,非常善于处理操作系统层面的应用,我们从网上下载的很多应用的安装和启动往往都是用Shell脚本语言写的.可是初步开始使用linux的小伙伴是 ...

  9. linux脚本空格转义,转义linux shell参数

    我试图摆脱它们之间有空格的shell参数之间的"{}"字符.例如: ./cod4_start.sh hello 28960"HOSTNAME WITH SPACES&qu ...

  10. linux join两个文件,Linux使用join -a1来合并两个文件

    Linux使用join -a1来合并两个文件 要合并以下两个文件,一起合并在一起,合并到1.txt中 # 1.txt Jerry 20 Alice 30 David 40 # 2.txt Jerry ...

最新文章

  1. 利刃 MVVMLight 8:DispatchHelper在多线程和调度中的使用
  2. 快要普通话考试了,急需最后一题的根据话题自由讲话的演讲稿!(不要那些已经被用过...
  3. JDBC: Java连接MySQL
  4. [Qt教程] 第18篇 2D绘图(八)双缓冲绘图
  5. 代码阅读 | torch.sort函数
  6. php session写入数据库_php session 写入数据库,phpsession
  7. oracle 12542,TNS-12542: TNS:address already in use
  8. 使用 hexo-git-backup 插件备份你的 Hexo 博客
  9. react里面的this_React 为啥要绑定this
  10. [sqlite] android create db in SD card
  11. JXLS 2.4.0学习
  12. 15款优雅的 WordPress 电子商务网站主题
  13. 分享4个不错的软件资源下载网站(值得珍藏)
  14. Node.js - npm下载包速度慢的问题及解决
  15. jsonp原理详解——终于搞清楚jsonp是啥了
  16. 道一MD5校验工具发布
  17. 9.14-hspice使用方法
  18. “2019/10/17创新创业工坊第六期第二课”心得体会
  19. 南昌大学计算机学硕和专硕,南昌大学同等学力是专硕还是学硕
  20. 关于前端代码埋点数据上报的实现

热门文章

  1. 痞子衡嵌入式:ARM Cortex-M内核那些事(3.2)- 安全模块看特性(M23/33/35P)
  2. 使用函数判断完全平方数
  3. linux修改dns地址的三种方法
  4. html获取本机ip,获取本机IP地址的实例(JavaScript / Node.js)
  5. 霸榜11个月,神车MINI EV进退两难!
  6. Alios-Things之wifi模块二次开发-(1)搭建Alios-Things开发环境(基于ubuntu 16.0.4)
  7. Matlab画图技巧: 不需要敲代码的傻瓜式操作流程
  8. “单细胞”中研究APC/CCDH1失活调控细胞周期起始的分子机制
  9. VMware虚拟机安装macOS黑苹果教程,亲测流程,全过程问题解决方案记录
  10. ArcGis批量裁剪栅格图层