1 单引号

a=1

b='a string'

单引号屏蔽各种特殊字符。echo ‘$a " % \n ' 只能得到 $a " % \n

单引号可以指明界限,防止由分隔符----空格引起的歧义。$b不能写成b=a string,会报错。

2 双引号  

a=1

基本和单引号一样,但是双引号支持内部字符有特殊含义,比如换行,变量,传递的参数等。echo “$a /" //  \\ " 输出 1 ” / \。

3 反引号

a=" hello linux !"

反引号内部先运算,然后把结果传递给反引号外边的参数,相当于$()。echo ` expr 2 + 2 ` 返回4

支持常用的命令操作,echo ` ls `

4 方括号

a=1

方括号内部支持数字加减乘除运算:echo $[2 + 2],echo $[2 * 2] (不用转义)

可以用于指定边界防止歧义。  echo $[a] 返回1

可以用于字符串运算符:  =  是否相等;!=是否不相等;-z字符串长度是否为0;-n字符串长度是否不为0;str字符串是否不为空?

a='abc'
b='abc'
if [ $a = $b ]
then
echo "no e"
fi

对变量和值进行条件判断,和test作用一样,但是不和test一起用,可以结合,-lt,-gt,-ge,-le,-a, -o ...[ $var1 -ne 0 -a $var2 -gt 2 ]变量1不等于0而且变量2大于2。如果用判断语句&& 和 ||,充当if后的条件语句的时候,外边还要叠套一层方括号:if [[ $a != 1 && $a != 2 ]] 或者 if [ $a -ne 1] && [ $a != 2 ]

文件系统测试,和test作用一样,但是不一块用。[ -f daqing ] ,文件daqing存在,且为普通文件,

在数组中的下标需要用方括号表明,a = (1 2 3) ,echo ${alist[0]} 返回1.

5 圆括号

数组需要用圆括号括起来,a = (1 2 3) 。

命令组,小括号里可以放好几个命令,彼此之间用分号隔开,注意:括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用

astr='hehehehe'
bstr='hahahaha'
if test [ $astr = $bstr ]
then
( echo "astr !=bstr";echo "hehe" ) #返回结果的第一行是astr != bstr,第二行是hehe
fi

  圆括号也可以用于计算:$((exp))和`expr ...`是一样的,echo $(( 2 + 2 )) 返回4.

括号里的命令之间也可以有规则,这样的用法常常充当迭代的时候的条件语句,比如可以直接使用for((i=0;i<5;i++)),

#!/bin/bash
for((i=0;i<=5;i++))
do
echo $i
done #返回0 1 2 3 4 5

6 大括号

命令组。{ cmd1;cmd2;cmd3;} 在当前shell顺序执行命令cmd1,cmd2,cmd3, 各命令之间用分号隔开,最后一个命令也必须带分号。

代码块,用于区分程序的边界或者防止变量名引起歧义。变量的值应当是${a},不引起歧义的情况下可以去掉大括号,再者,用大括号表明边界和格式,

demoFun(){
echo "这是我的第一个 shell 函数!" #这是函数主体,前一行后一行有大括号才行
}
demoFun

大括号有一种特殊用法,{1..10}相当于从1到10,touch {a..d}.txt 结果为a.txt b.txt c.txt d.txt。大括号中没有空格。

  

shell编程 之 引号、括号的用法总结的更多相关文章

  1. (转)轻松掌握shell编程中数组的常见用法及示例

    缘起:在老男孩进行linux培训shell编程教学中,发现不少水平不错的网友及同学对数组仍然很迷糊,下面就给大家分享下数组的用法小例子,希望能给大家一点帮助.其实SHELL的数组很简单,好用.我们学习 ...

  2. Shell 编程基础之括号的作用

    一.小括号() 单小括号 命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必 ...

  3. 1.shell编程之变量的高级用法

    1.1.变量替换 变量替换的六种形式 实例:非贪婪和贪婪的区别 从头部删除 [root@VM_0_9_centos shell_learn]# var_1="i love you,do yo ...

  4. Linux Shell编程,双括号运算符(())

    双括号运算符是shell非常强大的扩展. 这里简要介绍两种使用方式: 1.条件判断 跟在if.while.until,for等需要逻辑条件的命令后,进行逻辑判断 if(( expr));then … ...

  5. shell编程中的单/双 小括号, 中括号, 大括号

    linux shell中的变量类型?分字符串或者数字或者bool类型吗? 参考: http://www.cnblogs.com/nufangrensheng/p/3477281.html 不分! sh ...

  6. shell脚本学习之Bash shell 里各种括号的用法

    今天在 SegmentFault 上看到又有人问起关于Shell里各种括号的问题.对于很多玩Shell的人,括号是个很尴尬的问题,用起来没问题,说起来不明白,我在这里总结一下Bash Shell几种括 ...

  7. shell编程中的 三种结构: 条件if/选择结构case/循环for/while/until等结构 和 函数的用法

    shell 函数的使用 (md中, 列表本身是有格式的, 他要产生缩进, 其次,列表项和列表项之间, 可以留有一个空行, 是合法的, 允许的) shell函数,就是 就相当于一个命令来看待和处理的, ...

  8. shell编程系列9--文本处理三剑客之sed概述及常见用法总结

    shell编程系列9--文本处理三剑客之sed概述及常见用法总结 sed的工作模式:对文本的行数据一行行处理,如下图 sed(stream editor),是流编辑器,依据特定的匹配模式,对文本逐行匹 ...

  9. Shell 编程 基础用法

    Shell 编程 更改shell脚本权限 chmod u+x shell.sh 标准头部写法 #! /bin/bash #! /bin/dash 变量使用 a=10 print $a 读取命令行参数 ...

随机推荐

  1. 退回win7后无法上网 的解决方法

    如果网卡驱动没问题的话,那你是不是装了360安全卫士,如果装了你打开网络和共享中心———更改适配器设置————右键本地连接———属性————把360局域网防护驱动程序前面的对勾去掉然后确定,一般就能解 ...

  2. diff和patch

    diff -u:the unified format会将不同的地方放在一起,紧凑易读 . diff original.txt updated.txt c表示在original文件中的m,n行的内容将要 ...

  3. linux文件系统启动流程、启动脚本

    linux文件系统启动流程.启动脚本 下面是一张Linux启动流程图: 在了解启动流程之前,我们应该先知道系统的几个重要脚本和配置文件,他们对应的路径为: 1. /sbin/init 2. /etc/ ...

  4. Try It Once Again

    愿你就是自己最暖的太阳.无需凭借谁的光~~~~~~~~~~~~ ============================== ============================== ====== ...

  5. gitlab ssh-key

    1.使用 ssh-keygen 生成一下ssh key 2. cat 对应路径 复制 ssh key到项目 settings --> deploy keys 添加 3. enable这个 key

  6. zookeeper安装(单机版)

    1:查看当前服务器IP: # ifconfig 情况1:直接可以看到自己的IP:192.168.164.130 情况2:看不到自己的IP(但是能看到ifcfg-开头的东西,如:ifcfg-eno167 ...

  7. STM32学习笔记:【003】GPIO

    版本:STM32F429 Hal库v1.10 在STM32中,最常用到的功能莫过于GPIO(General Purpose Input Output .通用输入/输出)了,在STM32中,除了除去AD ...

  8. 原生JavaScript运动功能系列(一):运动功能剖析与匀速运动实现

    在我们日常生活中运动就是必不可少的部分,走路.跑步.打篮球等.在网页交互设计上运动也是必不可少的部分,创建的网站交互设计运动模块有轮播图,下拉菜单,还有各种炫酷的游戏效果都跟运动密切相关.所以很重要, ...

  9. freemarker迭代list、map等常规操作,将数据放到模板中

    转自:https://blog.csdn.net/wickedvalley/article/details/65937189 一.controller开始准备模型.数据1.po类 package co ...

  10. Css单位px,rem,em,vw,vh的区别

    px px就是pixel像素的缩写,相对长度单位,网页设计常用的基本单位.像素px是相对于显示器屏幕分辨率而言的 em em是相对长度单位.相对于当前对象内文本的字体尺寸(参考物是父元素的font-s ...