sh -c "$(curl -Ls "https://my-domain.com/a.sh?v=$(date +%s)")"
我想执行一个远程sh文件,并确保没有缓存在使用。
我知道上面的命令可以工作,但是当我将其放在降价文档中时,它对语法高亮不友好。
写嵌套的双引号和$符号命令的正确方法是什么?
答案 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
相关