Вложенные галочки в bash-скрипте не работают - PullRequest
1 голос
/ 22 марта 2011

Я пытаюсь сделать следующее в bash-скрипте:

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

, где NEWLIST - строка, содержащая список файлов, по одному на строку.Но я получаю эту ошибку:

command substitution: line 74: unexpected EOF while looking for matching `''

Почему это не удается?Как использовать вложенные обратные черты?

(в основном я пытаюсь убрать пробелы из результата wc, но я также хотел бы знать, как использовать вложенные обратные черты в любом случае)

Ответы [ 3 ]

8 голосов
/ 22 марта 2011

Это одна из причин, по которой вы должны использовать $() вместо кавычек.

Также нет необходимости в cat или AWK:

COUNT=$(wc -l < "$NEWLIST")
2 голосов
/ 22 марта 2011

Вы смешиваете 'и `

COUNT=`cat "$NEWLIST" | wc -l | awk ' { print $1 } ' `
2 голосов
/ 22 марта 2011

Этот второй "экранированный обратный удар" на самом деле должен быть одинарной кавычкой, как и первая.Также будьте осторожны с $1 там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...