bash:嵌套的双引号和美元符号

时间:2019-07-16 18:30:43

标签: bash syntax syntax-highlighting

sh -c "$(curl -Ls "https://my-domain.com/a.sh?v=$(date +%s)")"

我想执行一个远程sh文件,并确保没有缓存在使用。

我知道上面的命令可以工作,但是当我将其放在降价文档中时,它对语法高亮不友好。

写嵌套的双引号和$符号命令的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

那是正确的方法。如果语法荧光笔未正确突出显示(例如在Stack Exchange上,大声笑),那是语法荧光笔的错。 chepner解释了in the comments

  

这是语法突出显示的问题,而不是您的代码。它源于以下事实:大多数语法突出显示工具都使用正则表达式以提高速度和简化性,并且通过命令替换建立的新引用上下文是非常规的。

但是,正如William Pursell所说的in the comments

  

在这种情况下,您可以避免嵌套并执行let values: [Int?] = [1, 2, nil, 4] let results = values.compactMap { $0.flatMap { $0 * 2 } }

curl -Ls ... | sh

相关