Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash Cygwin命令替换不工作_Bash_Sed_Cygwin - Fatal编程技术网

Bash Cygwin命令替换不工作

Bash Cygwin命令替换不工作,bash,sed,cygwin,Bash,Sed,Cygwin,我试图解决在Cygwin中运行bash命令时遇到的一个问题 我试图将文本文件中的铿锵版本分配给变量。如果我在Cygwin中运行此命令: $(sed-n1p“$CLANGC2_VERSION_FILE”| sed's/\s//g') 我得到这个输出(这正是我想要的): 14.10.25903 现在,如果我试着把它赋给一个变量,它就不起作用了。以下是我正在尝试的: $CLANGC2_VERSION=$(sed-n1p“$CLANGC2_VERSION_文件”| sed's/\s//g') 但当我检查

我试图解决在Cygwin中运行bash命令时遇到的一个问题

我试图将文本文件中的铿锵版本分配给变量。如果我在Cygwin中运行此命令:

$(sed-n1p“$CLANGC2_VERSION_FILE”| sed's/\s//g')

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

14.10.25903

现在,如果我试着把它赋给一个变量,它就不起作用了。以下是我正在尝试的:

$CLANGC2_VERSION=$(sed-n1p“$CLANGC2_VERSION_文件”| sed's/\s//g')

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


我做错了什么?

您可以使用倒勾来获得所需的结果

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

事实证明,有一个已知的“大量狡猾的应用程序”(BLODA)可以干扰Cygwin和bash

我发现的讨论如下: BLODA列表如下:

原来我的防病毒软件在名单上


我已经移除了AV,现在命令可以工作了。AV肯定有一些低级的东西导致它失败。

你缺少双引号了吗?Try
CLANGC2_VERSION=“$(sed-n 1p“$CLANGC2_VERSION_FILE”| sed's/\s//g')”
在我的Linux机器上尝试时无法重现此问题。。请发布输入文件的前两行。。此外,您不需要两次呼叫sed。。请尝试
sed-n'1s/\s//gp'
@bernatpedrovozmediano双引号会导致相同的问题@Sundeep文件内容是
14.10.259031
如果只运行
TVAR=$(echo“test”);echo$TVAR
?TVAR中是否存储了任何内容?请使用
od-c$CLANGC2_VERSION_文件
检查文件中是否存在任何异常字符。我尝试了反勾号,这相当于
$()
,但我也遇到了同样的问题。很有趣。它在我的安装上运行良好(实际上是双向的)。您的Cygwin安装/环境有什么不典型的地方吗?我想唯一不同的是,我正在将Cygwin下载到构建工具目录中,作为安装脚本的一部分。我使用powershell下载Cygwin安装程序,然后启动Cygwin安装程序,并向其传递所需的软件包文件。只是好奇而已。哪个是AV?