shell中的引号和转义】的更多相关文章

引号和转义 Bash 只有一种数据类型,就是字符串.不管用户输入什么数据,Bash 都视为字符串.因此,字符串相关的引号和转义,对 Bash 来说就非常重要. 转义 某些字符在 Bash 里面有特殊含义(比如$.&.*). $ echo $date $ 上面例子中,输出$date不会有任何结果,因为$是一个特殊字符. 如果想要原样输出这些特殊字符,就必须在它们前面加上反斜杠,使其变成普通字符.这就叫做"转义"(escape). $ echo \$date $date 上面命令中…
Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中所有字符作为普通字符输出,而反引号中字符串作为shell命令执行,并返回执行结果.具体含义如下: 双引号(" "):在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身. 单引号(' '):在单引号中所有的字符包括特殊字符($,'',`和\)都将解释成字符本身而成为普通字符.…
Shell中可以用来实现变量代换的命令有两种,一种是由反引号括起来的一条命令另一种是由$()括起来一条命令,shell先执行这条命令,然后见输出结果立刻代换到当前命令行中. 例如定义一个变量存放date命令的输出: $DATE=`data` $echo $DATE 命令代换也可以用$()表示:$DATE=$(date)  输出的效果是一样的.我们知道系统是不会存在冗余的的命令,那么这两种方式有什么区别呢?下面我们再看一个例子: i=1 time1=Fri Aug 23 11:35:21 a=$(…
今天有人提问: echo `echo \\\\\\\w` echo $(echo \\\\\\\w) 为什么输出的不一样? 这就引申出了另一个问题:反引号与$()有没有区别? 这是一个非常有意思的问题,但要解释这个问题确比较困难,我来换一个简单一点的例子,通俗的解释一下. 比如我们有一个shell脚本名为test.sh有一下两行 1 2 echo  `echo \$HOSTNAME`     //反引号 echo $(echo \$HOSTNAME)    //$() 我们可以使用sh -x t…
单引号: 所见即所得 原封不动输出 双引号: 与单引号类似 特殊符号进行解析 ( $ $() `` ! ) 无引号: 与双引号类似 支持通配符( {} * ) 反引号: 优先执行 优先执行里面的命令,反引号和$()作用一样,执行解析里面的命令 [root@m01 /server/scripts]# echo 'oldboy $oldboy $(whoami) {1..5}' oldboy $oldboy $(whoami) {1..5} [root@m01 /server/scripts]# e…
Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中所有字符作为普通字符输出,而反引号中字符串作为shell命令执行,并返回执行结果.具体含义如下: 双引号(" "):在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身. 单引号(' '):在单引号中所有的字符包括特殊字符($,'',`和)都将解释成字符本身而成为普通字符.…
Linux Shell中有三种引号,分别为双引号(" ").单引号(' ')以及反引号(` `). 其中双引号对字符串中出现的$.''.`和\进行替换:单引号不进行替换,将字符串中所有字符作为普通字符输出,而反引号中字符串作为shell命令执行,并返回执行结果.具体含义如下: 双引号(" "):在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身. 单引号(' '):在单引号中所有的字符包括特殊字符($,'',`和\)都将解释成字符本身而成为普通字符.…
在shell中引号分为三种:单引号,双引号和反引号. 单引号 ‘ 由单引号括起来的字符都作为普通字符出现.特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释.单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号.(注意是所有,只是单引号本身不能够出现在其中).例如: $ string=’$PATH’ $ echo $string $PATH 可见$保持了其本身的含义,作为普通字符出现. 双引号 “ 双引号用于保持引号内所有字符的字面值(回…
引号的作用 1 双引号(“”) 1)使用””可引用除字符$(美元符号).`(反引号).\(反斜线)外的任意字符或字符串.双引号不会阻止shell对这三个字符做特殊处理(标示变量名.命令替换.反斜线转义). Eg:name=gezn; echo “User name:$name”//将打印User name :gezn Echo “The date is:`date +date-%d-%m-%Y`”//将打印The date is: 03-05-2009 Echo –e “$USER\t$UID”…
Linux中的元字符和转义符  单引号  硬引号  双引号  软引号 Linux就这个范儿 Linux就这个范儿 P182单引号:硬引号,所有元字符特殊意义都会关掉双引号:软引号,只允许出现特定元字符,对特殊字符会进行解析 元字符…