shell脚本中 的 单引号和反引号经常混淆,请高手帮我区别它们的功能,谢谢

 我来答
seesea2517
2012-04-15 · TA获得超过1480个赞
知道小有建树答主
回答量:512
采纳率:100%
帮助的人:556万
展开全部
单引号原样输出,你可以记为“单调输出”,如下原样输出 eval echo a 这个字符串,很单调吧:
echo 'eval echo a'

反引号执行内容后输出,可以记为“反译输出”,要把引号中的内容反向翻译一下,如下要执行反绰号中的内容 eval echo a,得到 a,再执行 echo,最终输出 a:
echo `eval echo a`
追问
那双引号呢?
追答
双引号和单引号差不多,但可以做变量的取值计算,可以记为双方通信,下面做对比:
先赋值 a=123

1) 单引号:单调输出 $a
echo '$a'

2) 双引号:双方通信,接到 a 的电话:"喂你好,我是a,请输出我的值 123",输出 123
echo "$a"
小米飞猫
2012-04-15 · 专注于IT监控领域技术
小米飞猫
采纳数:1653 获赞数:4811

向TA提问 私信TA
展开全部
单引号内忽略掉所有特殊字符
反引号能够将一个命令的标准输出插在一个命令行中任何位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在锦溪古镇看西甲的墨西哥狼
2017-09-19 · 超过17用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:24.7万
展开全部
双引号和单引号区别还是有区别的,别说差不多

(1) 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的(双引号可以)
(2) 单引号字串中不能出现单引号(对单引号使用转义符后也不行)
(3) 对于上一条,双引号可以
(4) 对于命名一个字符串,单引号双引号都可以,甚至可以不加引号
再举个例子吧,比方说预定义了一个变量name=zhangsan
双引号,myname="$name is me"
echo myname 这边输出的是: zhangsan is me
单引号,myname='$name is me'
echo myname 这边输出的是: $name is me
一般来说用双引号,单引号弱爆了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式