LINUX.ORG.RU

интерпретация одинарных кавычек оболочкой и команда

 


1

1

вот команда в которая должна вывести сообщение и выполнить команду.

echo "There are 'wc -l /etc/passwd' lines in the passwd file."
результат должет быть выведен в такой форме
There are x lines in the passwd file.
но мне выводит вот как
There are 'wc -l /etc/passwd' lines in the passwd file.
т.е вместо того что бы выполнить комаду
wc -l /etc/passwd
она интерпритирует как текст. оболочка /bin/bash.


JFYI

Собственно, «`» и не кавычка вовсе, равно как и «'». Первое — grave, второе — машинописный апостроф.

anonymous ()

одинарные кавычки - зло, ибо визуально их трудно вычленять, скучно экранировать и на клавиатуре трудно найти, так что выбор лучших собаководов - знак доллара
echo «There are $(wc -l /etc/passwd) lines in the passwd file.»

zolden ★★★★★ ()

кстати wc -l выводит 'Х имя_файа'. как сделать, чтоб показывало только первую клонку?

teod0r ★★★★★ ()
Ответ на: комментарий от teod0r

как сделать, чтоб показывало только первую клонку

cut или sed

ziemin ★★ ()
Ответ на: комментарий от zolden

раньше всегда пользовался тильдами, как узнал про доллар - тоже понравилось, всегда ими пользуюсь

как сделать, чтоб показывало только первую клонку

wc -l file | awk '{ print $1 }'

проверить нет где

leader32 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.