команты bash/awk

что-то я совсем торможу...
я хочу отправить сообщение двум подключ. пользователям. (на из tty)
собственно:

в идеале я бы хотел делать echo "test" > /dev/`w | awk '{print $2}' | tail -n 2`

но так незя. =) это я хочу показать что требуется. а то словами долго....

как мне это сделать в командой строке на bash.

народ?? ай! вы фто...

народ?? ай! вы фто...
неужели все гентушники на мышки перешли?

а wall не подойдет?

а wall не подойдет?

спасибо. согласен. wall для

спасибо. согласен. wall для этого подходит. единственно, он шлёт всем....

но всё же как это сделать стандартными утилитами? интересно... решил попытаться осилить unix-way =)

scion написал(а):спасибо.

scion написал(а):
спасибо. согласен. wall для этого подходит. единственно, он шлёт всем....

Есть еще write, там можно юзера и tty задать.

scion написал(а):
но всё же как это сделать стандартными утилитами? интересно... решил попытаться осилить unix-way =)

Попробуй в цикле каждый tty

ага... про write тоже уже

ага... про write тоже уже прочитал...

"Попробуй в цикле каждый tty "
нет. каждый эт. не правильно.

а можно ли grep передать 2 или больше имени? или почему нельзя так?
pwd
/dev

ls | grep `w | awk '{print $2}' | tail -n 2`
grep: p2: No such file or directory

ыыы... рашисал... только

ыыы... написал... только самому стыдно...

for i in `w | awk '{print $2}' | tail -n 2`; do echo "test" > `ls | grep $i | grep tty;`; done

а если без привых рук? есть нормальные варианты?

У меня почти тоже самое: for

У меня почти тоже самое:
for tty in $(w | awk '{print $2}' | tail -n 2); do echo "test" >$tty; done
Кто поругает?

=) ну у тебя немного не

=) ну у тебя немного не правильно =)
у тебя переменная tty будет равна p1 а потом p2. и >$tty не приведёт к нужному результату....
т.к. команда w возвращает не ttyp1 и ttyp2 а только p1 и p2... это и был мой камень преткновения...
мне стадно за `ls | grep $i | grep tty;`

на благодаря `ls | grep $i | grep tty;` я получу на выходе ttyp1 и ttyp2 соотв...

Твой пример у меня не

Твой пример у меня не работает, а
for tty in $(who | awk '{print $2}'); do echo -e "test\n" >$tty; done
будучи выполнено от рута отправляет на все pts и tty
И откуда у тебя ttyp1 и ttyp2, что это? такого у меня нет...
Вот еще интересно, как вывод завершить чтоб сообшение не висело до нажатия return :) "\n" - не то.

ой =) мы оба правы =) но я

ой =) мы оба правы =)
но я больше не прав =)
я случайно не посмотрел и всё это тестировал на freebsd. а там pts/0 pts/1 .... называются pt0 и pt1.....а в папке /dev/ вообще ttypt0 и ttypt1... =)

"Вот еще интересно, как вывод завершить чтоб сообшение не висело до нажатия return :) "\n" - не то. " а зачем в этом и есть маза) зато не отмажется никто "типа не видел =))"

и всё ещё интересует вопрос можно ли в grep передавать несколько аргументов?

cat testfile
name1
name3

ls | grep `cat testfile`
ругается типа: grep: name3: Нет такого файла или каталога

можно без cat'a обойтись ls |

можно без cat'a обойтись
ls | grep -f testfile

man grep написал(а):
-f FILE, --file=FILE
Obtain patterns from FILE, one per line. The empty file contains zero patterns, and therefore matches nothing. (-f
is specified by POSIX.)

O_o не знал что он может

O_o не знал что он может файлы кушать =) приятное удивление)
почему тогда grep `cat testfile` незя... =( обойтись то можно... просто хочется понять, что бы потом опять на эти грабли не наступить...

"почему тогда grep `cat

"почему тогда grep `cat testfile` незя" - ХЗ сам удивлен ведь КМК grep -F `cat testfile` должно рабротать...

man grep написал(а):
-F, --fixed-strings
Interpret PATTERN as a list of fixed strings, separated by newlines, any of which is to be matched. (-F is
specified by POSIX.)

офтоп: что кодишь среди ночи ?)

да. grep -F testfile

да. grep -F testfile работает... grep -F `cat testfile` нет...

"офтоп: что кодишь среди ночи ?) "
на самом деле уже ничего, всё на перле уже написал, а сейчас просто unix-way себе в мозг вшиваю =) хочу научится нормально командами пользоваться... а то часто стало не хватать...

.

scion написал(а):
сейчас просто unix-way себе в мозг вшиваю =) хочу научится нормально командами пользоваться... а то часто стало не хватать...

ИМХО главная и программная дока по этой теме --- ABS.

:wq
--
Live free or die

а вот у меня такой вопрос к

а вот у меня такой вопрос к автору топика:
а зачем вообще писать сообщение методом " > /dev/tty" !? Вы уверены, что пользователи смогут его прочитать, особенно в том случае, есди у них в терминале выполняется какая-нибудь программа? Ведь ваше сообщение может тупо затеряться среди вывода )))

предлагаю почитать:
man write
man mesg
man talk

Ога :)

Theli написал(а):
man talk

talk рулит!
Прообраз (прототиб) Jabber'а :)))

:wq
--
Live free or die

согласен, вы полностью правы.

согласен, вы полностью правы. это утилитки подходят намного лучше...
но вопрос был именно как это сделать средствами bash,awk... это так сказать больше для собственного развития....

еще хотелось бы

еще хотелось бы порекомендовать почитать:
man bash
Искусство программирования на языке сценариев командной оболочки

+ чтение и разбор уже написанных скриптов ;-)

+ man mail

Theli написал(а):+ чтение и

Theli написал(а):
+ чтение и разбор уже написанных скриптов ;-)

+1 за реверс инжиниринг ;)
Подсказал бы кто хорошую подборочку уанлайнеров :)

ага. fnx. этим и занимаюсь =)

ага. fnx. этим и занимаюсь =)

/

Есть мнение, что приведённая мной ранее ссылка на оргинал (последнее обновление датируется этим годом) будет куда лучше неопределённой степени достоверности и актуальности перевода.

:wq
--
Live free or die

спора нет. но приятно иметь

спора нет.
но приятно иметь выбор =)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".