bash脚本中的嵌套反勾号无效

bash脚本中的嵌套反勾号无效,bash,backticks,word-count,Bash,Backticks,Word Count,我正在bash脚本中尝试以下操作: COUNT=`cat "$NEWLIST" | wc -l | awk \' { print $1 } \` ` 其中NEWLIST是包含文件列表的字符串,每行一个。但我得到了这个错误: command substitution: line 74: unexpected EOF while looking for matching `'' 为什么会失败?如何使用嵌套的反勾号 (基本上,我试图从wc的结果中去掉空白,但我也想知道如何使用嵌套的反勾号)第二个“

我正在bash脚本中尝试以下操作:

COUNT=`cat "$NEWLIST" | wc -l | awk \' { print $1 } \` `
其中NEWLIST是包含文件列表的字符串,每行一个。但我得到了这个错误:

command substitution: line 74: unexpected EOF while looking for matching `''
为什么会失败?如何使用嵌套的反勾号

(基本上,我试图从wc的结果中去掉空白,但我也想知道如何使用嵌套的反勾号)

第二个“转义反勾号”实际上应该是一个单引号,就像第一个一样。另外,要小心那里的
$1

第二个“转义反勾号”实际上应该是一个单引号,就像第一个一样。另外,要小心那里的
$1

你在混合'`

COUNT=`cat "$NEWLIST" | wc -l | awk ' { print $1 } ' `
你在混合“和”`

COUNT=`cat "$NEWLIST" | wc -l | awk ' { print $1 } ' `

这就是您应该使用
$()
而不是反勾号的原因之一

此外,不需要
cat
或AWK:

COUNT=$(wc -l < "$NEWLIST")
COUNT=$(wc-l<“$NEWLIST”)

这是您应该使用
$()
而不是反勾号的原因之一

此外,不需要
cat
或AWK:

COUNT=$(wc -l < "$NEWLIST")
COUNT=$(wc-l<“$NEWLIST”)

为什么我需要小心使用1美元?为什么我需要小心使用1美元?谢谢。我最初使用awk是因为在我的MacOSX终端中,wc产生了领先的空白。但是它似乎和上面的表达一起消失了。谢谢。我最初使用awk是因为在我的MacOSX终端中,wc产生了领先的空白。但它似乎和上面的表达一起消失了。