Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: BASH: Псевдотерминал  (Прочитано 1156 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
BASH: Псевдотерминал
« : 17 Январь 2011, 03:02:24 »
Подскажите, как узнать номер запущенного псевдотерминала? или можетбыть он хранится в какойто переменной. тогда в вкакой?

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15194
    • Просмотр профиля
    • aetera.net
Re: BASH: Псевдотерминал
« Ответ #1 : 17 Январь 2011, 04:33:03 »
ps -o tty $$
lsof -p $$ /dev

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: BASH: Псевдотерминал
« Ответ #2 : 17 Январь 2011, 16:54:27 »
Собственно, мне нужно перенаправить выполнение КОНВЕЕРА команд в другой терминал.
с помощью
gnome-terminal -e "comand | comand | comand"
не получается. выполняется только первая команда. Как быть?

Оффлайн dimas000

  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
Re: BASH: Псевдотерминал
« Ответ #3 : 17 Январь 2011, 16:59:31 »
ttyвот только что проверил - разные вкладки в гнум-терминале привязываются к разным /dev/pts/N. а, собственно, вывод на это устройство дает текст на нем. с tty-консолями аналогично, если залогинен - можешь кидать туда фигню всякую
лучше на "ты"

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: BASH: Псевдотерминал
« Ответ #4 : 17 Январь 2011, 17:45:49 »
проблема вот в чем:
sudo comand | sudo comand | sudo comand > /dev/pts/1 (это при том что нужно перенаправить из pts/0 в pts/1)
при таком конвеере команд иногда выполняются все команды, а иногда только первая, а остальные только выводят приглашение ввода пароля. хотя я вводил пароль до этих комманд.

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15194
    • Просмотр профиля
    • aetera.net
Re: BASH: Псевдотерминал
« Ответ #5 : 17 Январь 2011, 17:49:31 »
sudo comand | sudo comand | sudo comand > /dev/pts/1
sudo bash -c 'cmd1 | cmd2 | cmd3 >/dev/pts/1'

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: BASH: Псевдотерминал
« Ответ #6 : 17 Январь 2011, 20:12:10 »
спасибо. как раз этого и не хватало :)

 

Страница сгенерирована за 0.053 секунд. Запросов: 22.