首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们什么时候应该用引号?

我们什么时候应该用引号?
EN

Unix & Linux用户
提问于 2020-10-27 15:10:02
回答 1查看 300关注 0票数 3

我刚开始学习Bash,所以我为下面的问题道歉,这些问题看上去可能过于简单。

我很难理解Shell脚本中引号的用法。

如果我要写

代码语言:javascript
复制
a="file"
b="`grep " a" "$a"`"
echo $b
  1. 它们是否应该被理解为"$a“和”a“在引语"grep " a" "$a"”中?或者,从左到右阅读?因为我被教导用双引号把变量括起来。更让人困惑的是,我的老师告诉我,为了防止系统误解变量名和后面的文本,我们应该在变量名的周围加上另一个双引号。
  2. 嵌套引号是做什么的?我们什么时候应该用引号?
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-10-27 15:16:00

普通引号不嵌套,但反引号在双引号中是特殊的。

使用$()而不是反引号更容易读和更干净。它们都是指命令替换,即它们扩展到它们所包含的命令的输出。

代码语言:javascript
复制
b="$(grep " a" "$a")"

但是,您不需要在赋值中使用外部双引号,因此以下内容是等效的:

代码语言:javascript
复制
b=$(grep " a" "$a")

您的问题已经改变了,所以让我们添加一些更多的细节:您应该在任何地方使用双引号来防止分词。变量名称的问题最好在

代码语言:javascript
复制
echo "$var1_$var2"    # two variables, $var1_ and $var2
echo "$var1"_"$var2"  # two variables, $var1 and $var2, separated by an underscore
# also possible:
echo "${var1}_$var2"
票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/616649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档