1. linux中三种引号的作用有什么区别
Linux的三中引号:双引号 " " ,单引号 ' ', 还有就是反引号 ` `
单引号和双引号的作用是差不多的,在里面的结果都是字符串,比如
a="date" ,b='date' 这两个是一样的。
反引号的作用就不一样了,反引号是把里面的当作一个命令来执行,比如
c=`date`
当 echo $a $b $c的时候 结果就分别是
date date 2014-11-1 20:33
2. 关于linux中的倒引号的嵌套使用
当倒引号嵌套使用时:
abc=`echo abc is`pwd``
你以为系统会把`pwd`运算出来作为`echo abc is...`的一部分吗?
当然不是!
系统会把`echo abc is`作为一个命令运算出来,
再加上字符串pwd,
再加上空命令``
也就是说:
系统并不会把这种写法理解为嵌套,
而是会"就近匹配"倒引号,
要想达到嵌套的效果,里面的倒引号必须使用转义\
3. Linux里单引号和双引号的区别
shell脚本中的单引号和双引号一样都是字符串的界定符,而不是字符的界定符。单引号用于保持引号内所有字符的字面值,即使引号内的\和回车也不例外,但是字符串中不能出现单引号。(注意是所有,只是单引号本身不能够出现在其中)。
双引号用于保持引号内所有字符的字面值(回车也不例外),但以下情况除外:
$加变量名可以取变量的值
反引号仍表示命令替换
\$表示$的字面值
\`表示`的字面值
\"表示"的字面值
\\表示\的字面值
除以上情况之外,在其它字符前面的\无特殊含义,只表示字面值。
从上就可以看出单引号和双引号的区别。下面举几个例子:
可见,单引号中完全是保持字符串的原型输出,而双引号进行了命令替换。
由上可见虽然单引号和双引号都是字符串的限定符,但还是有所区别。
4. liunx的ls怎么在文件名上加引号啊意思是将a文件夹下的两个文件bbb'ccc生成"bbb",
使用-Q参数
-Q或--quote-name 把文件和目录名称以""号标示起来。
如下:
Ray@Linux-Ray:/home/Ray> ls ./shellscript/
colourword.sh ipaddress.sh ipjudge.sh math100.sh mathinput.sh
Ray@linux-Ray:/home/Ray> ls -Q ./shellscript/
"colourword.sh" "ipaddress.sh" "ipjudge.sh" "math100.sh" "mathinput.sh"
5. 描述Linux shell中单引号、双引号及不加引号的简单区别
单引号:所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就输出什么。
双引号:把双引号里面的内容给输出出来,如果内容中有命令、变量等,会先把,变来那个、命令解析出结果,然后输出最终内容。
双引号内的命令或者变量写法’命令或变量’或$(命令或变量)
无引号:把内容输出出来,可能不会键含有空格的字符串,视为一个整体输出,如果内容中有命令、变量等,会先把变量、命令解析出来,然后输出最终内容,如果字符串中带有空格等特殊字符,则不能完整输出,需要改加双引号。一般连续的字符串,数字,路径等可以用,不过最好用双引号,替代之。
如果有什么不懂的话可以去看看《Linux就该这么学》这本书,非常适合新手学习Linux。