Cygwin 命令替换不起作用
Cygwin Command Substitution not Working
我正在尝试解决在 Cygwin 中 运行ning 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')
但是当我检查或打印变量时,它是空的。
我做错了什么?
您可以使用反引号来获得所需的结果。
CLANGC2_VERSION=`(sed -n 1p "$CLANGC2_VERSION_FILE" | sed 's/\s//g')`
原来有一个已知的 'Big List of Dodgy Apps' (BLODA) 可以干扰 Cygwin 和 bash。
我找到的讨论在这里:https://cygwin.com/ml/cygwin/2017-07/msg00197.html
BLODA 列表在这里:https://cygwin.com/faq/faq.html#faq.using.bloda
原来我的 AntiVirus 在列表中。
我删除了 AV,现在命令可以使用了。 AV 一定有一些 low-level 的东西导致它失败。
我正在尝试解决在 Cygwin 中 运行ning 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')
但是当我检查或打印变量时,它是空的。
我做错了什么?
您可以使用反引号来获得所需的结果。
CLANGC2_VERSION=`(sed -n 1p "$CLANGC2_VERSION_FILE" | sed 's/\s//g')`
原来有一个已知的 'Big List of Dodgy Apps' (BLODA) 可以干扰 Cygwin 和 bash。
我找到的讨论在这里:https://cygwin.com/ml/cygwin/2017-07/msg00197.html BLODA 列表在这里:https://cygwin.com/faq/faq.html#faq.using.bloda
原来我的 AntiVirus 在列表中。
我删除了 AV,现在命令可以使用了。 AV 一定有一些 low-level 的东西导致它失败。