bash脚本中的嵌套反引号无法正常工作

时间:2011-03-21 23:22:18

标签: 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的结果中删除空格,但我也想知道如何使用嵌套的反引号)

3 个答案:

答案 0 :(得分:8)

这是你应该使用$()而不是反对的一个原因。

此外,不需要cat或AWK:

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

答案 1 :(得分:2)

第二个“逃脱反击”实际上应该是单引号,就像第一个一样。另外,请注意那里的$1

答案 2 :(得分:2)

你正在混合'和'

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