1. 单引号 ( '' ) # grep Susan phonebook Susan Goldberg -- Susan Topple -- 如果我们想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep会把Goldberg和phonebook当作需要搜索的文件 # grep 'Susan Gold' phonebook Susan Goldberg -- 当shell碰到第一个单引号时,它忽略掉其后直到右引号的所有特殊字符 2. 双引号 ( " " ) 双引号作用与单引号类似,区别在于它没有那么严格。单引号告诉shell忽略所有特殊字符,而双引号只要求忽略大多数,具体说,括在双引号中的三种特殊字符不被忽略:$,,` ,即双引号会解释字符串的特别意思,而单引号直接使用字符串.如果使用双引号将字符串赋给变量并反馈它,实际上与直接反馈变量并无差别。如果要查询包含空格的字符串,经常会用到双引号。 # x=* # echo $x hello.sh menus.sh misc.sh phonebook tshift.sh # echo '$x' $x # echo "$x" * 这个例子可以看出无引号、单引号和双引号之间的区别。在最后一种情况中,双引号告诉shell在引号内照样进行变量名替换,所以shell把$x替换为*,因为双引号中不做文件名替换,所以就把*作为要显示的值传递给echo。 对于第一种情况需要进一步说明,shell在给变量赋值时不进行文件名替换(这从第三种情况中也能看出来),各步骤发生的精确次序如下: shell扫描命令行,把x的值设为星号*; shell再次扫描命令行,碰到星号*,把它替换成当前目录下的文件清单; shell启动执行echo命令,把文件清单作为参数传递给echo. 这个赋值的先后次序非常重要:shell先作变量替换,然后作文件名替换,最后把这行处理为参数 3. 反引号(``) 命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。shell中有两种方法作命令替换:把shell命令用反引号或者$(...)结构括起来,其中,$(...)格式受到POSIX标准支持,也利于嵌套。 # echo The date and time is `date` The date and time is 三 6月 :: CST # echo Your current working directory is $(pwd) Your current working directory is /home/howard/script 4. 反斜杠 backslash-escaped( ) 反斜杠一般用作转义字符,或称逃脱字符,linux如果echo要让转义字符发生作用,就要使用-e选项,且转义字符要使用双引号 echo -e "n" 反斜杠的另一种作用,就是当反斜杠用于一行的最后一个字符时,shell把行尾的反斜杠作为续行,这种结构在分几行输入长命令时经常使用。
推荐整理分享linux shell中单引号、双引号、反引号、反斜杠的区别(shell 单引号中引用变量),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:shell 引数,Linux Shell中单引号和双引号的区别是,linux shell 单引号,shell命令中单引号的作用,描述linux shell中单引号双引号及不加引号的简单区别,linux shell 单引号,Linux Shell中单引号和双引号的区别是,描述linux shell中单引号双引号及不加引号的简单区别,内容如对您有帮助,希望把文章链接给更多的朋友!
防止shell脚本重复执行的代码 例如,要求脚本只能顺序访问某个资源,例如磁盘文件等,就可以参考下面的实现。#!/bin/bash##filelockingusingbash.#ver0.1.6##author:malundao(malundao@sina.com)#date:
shell字符串比较判断是否为数字 二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.整数比较-eq等于,如:if["$a"-eq"$b"]-ne不等于,如:if["$a"-ne"$b"]-gt大于,如:if["$a"-gt"$b"]-ge大于
SED单行脚本快速参考(流编辑器)第1/2页 sed(streameditor)功能说明:利用script来处理文本文件。语法:sed[-hnV][-escript][-fscript文件][文本文件]补充说明:sed可依照script的指令,来处理、编辑文本文