gpt4 book ai didi

bash - bash 如何解析这个例子中的引号?

转载 作者:行者123 更新时间:2023-11-29 09:25:33 25 4
gpt4 key购买 nike

我正在运行一个示例并试图弄清楚参数是如何被解析的。

colour1="red"
colour2="light blue"
colour3="dark green"

for X in "$colour1" $colour2" $colour3"
do
echo $X
done

请注意,奇怪的遗漏引号不是拼写错误。这只是来自博客的测试示例。

我得到的输出是

red

light

blue dark green

我期望的输出是

red

light

blue

dark green

因为 colour2 不会受到引号保护,但 colour1 和 colour3 应该受到保护。口译员在做什么?

最佳答案

因为 $colour2"$colour3" 紧邻,它们在参数扩展发生之前形成一个单词。以下是扩展过程:

  1. 您从 $colour2"$colour3" 开始
  2. 参数扩展将其变成淡蓝色“深绿色”
  3. 分词应用于未加引号 空格的扩展结果。由于只有一个未加引号的空格,因此得到的两个词是 lightblue"dark green"
  4. 最后执行引用删除,生成lightblue dark green

关于bash - bash 如何解析这个例子中的引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37758828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com