cygwin命令替换不起作用



我试图在cygwin运行bash命令时射击一个问题。

我试图将clang版本从文本文件分配到变量。如果我在cygwin中运行:

$ (sed -n 1p "$CLANGC2_VERSION_FILE" | sed 's/s//g')

我得到此输出(这正是我想要的(:

14.10.25903

现在,如果我尝试将其分配给一个变量,则无效。这是我尝试的:

$ CLANGC2_VERSION=$(sed -n 1p "$CLANGC2_VERSION_FILE" | sed 's/s//g')

但是当我检查或打印变量时,它是空的。

我在做什么错?

事实证明,有一个已知的'大型应用程序'(Bloda(可以干扰cygwin和bash。

我发现的讨论在这里:https://cygwin.com/ml/cygwin/2017-07/msg00197.htmlBloda列表在这里:https://cygwin.com/faq/faq.html#faq.ususion.bloda

事实证明我的防病毒软件在列表中。

我已经删除了AV,现在命令工作了。AV必须有一些低级的东西,这会导致其失败。

您可以使用Backticks获得所需的结果。

CLANGC2_VERSION=`(sed -n 1p "$CLANGC2_VERSION_FILE" | sed 's/s//g')`

最新更新