现在的位置: 首页 > 综合 > 正文

shell中各种引号的用法

2013年08月21日 ⁄ 综合 ⁄ 共 820字 ⁄ 字号 评论关闭

转至:http://goward.jimdo.com/2010/06/15/linux-shell%E5%90%84%E7%A7%8D%E5%BC%95%E5%8F%B7%E7%9A%84%E7%94%A8%E6%B3%95/

这些字符之间的区别在于它们如何影响变量(如$NAME)和Shell命令(如date)。对于任何一对引号,shell都会把引号内的内容发送给命令。在下面的实例中使用echo命令。详细地讲,它们的区别如下:

单引号(single quote) Shell不会处理任何变量或命令

双引号(double quote)Shell会处理变量,如$NAME,但不会处理任何命令。

反引号(back quote)Shell尝试把引号中的每个单词作为命令处理。如果有变量,首先会对它们进行求值,然后将其作为命令处理。因此,如果$NAME在反引号中就会处理它,然后把结果作为命令处理。

 

可以在以下命令中查看它是如何工作的。假定NAME=Jame。记住date是一个命令,返回当前日期和时间。第一个命令没有引号。shell会解释$NAME变量,但不会运行date命令。

$echo Welcome $NAME,the date is date

Welcome Jame,the date is date

下一个命令用单引号封闭输入。这将阻止shell解释如何变量或命令。

$echo 'Welcome $NAME,the date is date'

Welcome $NAME,the date is date

以下命令用双引号封闭输入。结果类似于不带引号的输出。

$echo "Welcome $NAME,the date is date"

Welcome Jame,the date is date

最后一个命令包含用于命令的反引号。shell会解释该命令。

$echo "Welcome $NAME,the date is `date`"

Welcome Jame,the date is Tus June 15 10:43:37 EST 2010


抱歉!评论已关闭.