[日期:2011-02-21] 来源:Linux社区  作者:破烂熊 [字体:大 中 小]

各种括号的用法总结如下

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会将它同前一个”号匹配。

3、 反引号 `

反引号(`)这个字符所对应的键一般位于键盘的左上角,不要将其同单引号(’)混淆。反引号括起来的字符串被shell解释为命令行,在执行时,shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。

本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-02/32559.htm

Linux Shell中各种分号和括号的用法总结相关推荐

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

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

  2. linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法

    一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...

  3. linux shell 中的sleep命令

    开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...

  4. Day25 linux shell中的特殊符号与命令

    2019独角兽企业重金招聘Python工程师标准>>> linux shell中的特殊符号 *:代表零个或多个任意字符 ?:只代表一个任意字符,不管是数字还是字母,只要是一个字符,都 ...

  5. linux shell数学计算器,技术|使用 GNU bc 在 Linux Shell 中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  6. linux中bc用法英文,使用GNU bc在Linux Shell中进行数学运算

    在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言. 大多数 POSIX 系统带有 GNU bc,这是一种任意精度的数字处理语言.它的语法类似于 C,但是它也支持交互式执行语句 ...

  7. linux的shell的功能,linux shell中${ }的一些特异功能

    linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会. 假设我们定义一个变量为: file=/dir1/dir2/dir3/my.fil ...

  8. Linux shell 中的数组和关联数组

    写在前面的话 我用开始废柴了,这个又是写给我自己看的了. 普通数组 1.数组的定义 在Linux shell中定义一个普通的数组很简单,首先我们先给数组命名(当然要符合所有的命名规则咯).定义数组的一 ...

  9. Linux Shell中的延时函数

    Linux Shell中的延时函数 在 linux shell 脚本中经常需要做一些延时处理. 所以经常要用到 sleep 或 usleep 函数. 下面来说一下  sleep 和 usleep 的区 ...

最新文章

  1. kali linux获取root,kali linux 安装keybase 并使用root来运行keybase
  2. hdoop(2)——hdfs一些常用的配置文件
  3. Flask - app的配置和实例化Flask的参数
  4. oracle恢复drop建的表首次,案例:Oracle dul数据挖掘 没有备份情况下非常规恢复drop删除的数据表...
  5. 装饰器模式(讲解+应用)
  6. Linux下python升级步骤
  7. Hibernate 异常org.hibernate.LazyInitializationException: could not initialize proxy - no Session
  8. IBM云计算带我们进入新服务经济时代
  9. python-集合数据类型
  10. 本硕985非科班渣硕2020腾讯计算机视觉算法实习面经(已获Offer)
  11. 65279 php,php头部#65279;去除bom执行文件
  12. 网络流大~大~大~总结
  13. Qt之高DPI显示器(二) - 自适配解决方案分析
  14. 叉车式AGV 时间窗问题
  15. 天翼云铸牢国云安全,护航千行百业
  16. AI视觉对抗之隐身T恤「AI前沿」
  17. linux top命令看到的实存(RES)与虚存(VIRT)分析
  18. IP电话系统和VoIP系统使用指南
  19. 分布式计算系统导论:原理与组成pdf
  20. GNSS 常用缩略语汇总

热门文章

  1. python多个变量的for循环
  2. 光纤中继器的安装调试
  3. Profibus-DP光端机产品功能特点及技术参数详解
  4. 【渝粤题库】广东开放大学 java web开发技术 形成性考核
  5. linux 跟踪内存,用strace跟踪malloc内存分配
  6. 开机启动失败_电脑常见开机引导错误的解决方法
  7. 传感与检测实验报告,差动变压器的特性测定,江南大学物联网自动化
  8. FPGA(0)--quartusⅡ安装
  9. python获取某文件路径_Python获取当前文件路径
  10. 问题 1049: [编程入门]结构体之时间设计