不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反引号③反斜杠,这3种特殊字符不被忽略。 不忽略美元符号意味着shell在双引号内部也进行变量名替换。 下面用一个简单的shell程序要说明一下。 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
==和=的使用主要区别在Shell脚本中,==和=的使用主要区别在于它们所处的上下文和具体的Shell版本:**=**:在POSIX标准中,=被定义为字符串比较运算符,适用于test命令或[命令。例如:[ "$a" = "$b" ] 用于判断$a和$b是否相等,若相等则返回true。这是更通用的字符串比较方式,在所有的Shell环境中(如s bash ...
In this example, we have a file named "testfile" that contains 5 lines. I then set the testvar variable to contain the contents of the line by running "testvar=`cat testfile`". However, when I attempt to "echo $testvar" all the lines of the file are shown on one line! If I ...
不同的是,双引号没有单引号严格,单引号关闭所有有特殊作用的字符,而双引号只要求shell忽略大多数,具体的说,就是①美元符号②反引号③反斜杠,这3种特殊字符不被忽略。 不忽略美元符号意味着shell在双引号内部也进行变量名替换。 下面用一个简单的shell程序要说明一下。 debian:~/learn/shell# cat phonebookAlice ...
*hard quote:''(单引号),凡在hard quote中的所有meta均被关闭。 *soft quote:""(双引号),在soft quote中的大部分meta都会被关闭,但某些保留(如$)。 *escape:\ (反斜线),只有紧接在escape(跳脱字符)之后的单一meta才被关闭。 下面的例子將有助于我们对 quoting 的了解: ...