Re: Особенности команды echo под Линукс
On Sat, Aug 22, 2009 at 12:11:59AM +0400, James Brown wrote:
> Хотел бы уточнить такую особенность данной команды.
> В учебнике Тэйнсли приводятся примеры использования данной команды типа
> "$ echo "Ваш начальный каталог $HOME, Вы подключены к 'tty' " (и еще там
> один пример, с сохранением в файл и др. командой, т.к. он аналогичен,я
> его здесь не ривожу).
> В результате в выводе должены быть вычислены значения $HOME и выполнена
> команда tty.
> У меня только вычисляется значение $HOME, команда tty не выполняется и
> просто выводиться в виде текста tty :
> $ echo "Ваш начальный каталог $HOME, Вы подключены к 'tty' "
> Ваш начальный каталог /home/igor, Вы подключены к 'tty'
>
> Поскольку $ tty
> /dev/pts/2
> , вроде бы согласно учебнику там вместо tty должно быть вычислено его
> значение /dev/pts/2
>
> В чем дело и как правильно это делать под Линуксом/Дебианом?
А ты так попробуй:
$ echo "Ваш начальный каталог $HOME, Вы подключены к `tty`"
(заметь обратные апострофы)
Или так:
$ echo "Ваш начальный каталог $HOME, Вы подключены к $(tty)"
Эта фича называется command substitution и выполняется она не
командой echo, а оболочкой, _до_ передачи аргумента команде echo. То
же самое можно сказать и про раскрытие $HOME. Роль echo -- вывести
на stdout последовательно все строки, которые эта команда
получила через параметры командной строки.
--
Stanislav
Reply to: