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


Автор Тема: Стандартный поток ввода и вывода - I/O  (Прочитано 536 раз)

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

Оффлайн Acruax

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Как узнать для конкретной команды, имеет она только stdin, только stdout, оба или ни одного?

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: Стандартный поток ввода и вывода - I/O
« Ответ #1 : 12 Апреля 2011, 23:52:08 »
Это?

Вообще, прочтите всю ту тему.
Я ваш вопрос понял так: «как работающая программа может узнать: stdin — это клавиатура или файл, типа cat < some-file? stdout — это терминал или файл (ls > filelist)?»
« Последнее редактирование: 12 Апреля 2011, 23:59:00 от inkblack »
Делюсь знаниями, но их у меня мало!

Оффлайн Acruax

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Стандартный поток ввода и вывода - I/O
« Ответ #2 : 13 Апреля 2011, 00:02:53 »
Нет, вы не верно поняли меня. Есть список команд, к примеру pwd, ls, cd, mkdir, rmdir, rm, cp, mv, ln и так далее команды. Вот их мне надо раскидать по таблице вручную в четыре колонки. Собственно как мне определить какие из них куда кидать? Т.е. надо узнать, есть ли у команды pwd stdin или stdout, оба, ни одного из них.

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: Стандартный поток ввода и вывода - I/O
« Ответ #3 : 13 Апреля 2011, 00:30:57 »
Насколько я понимаю, у всех есть и stdin, и stdout. Просто некоторые команды могут ничего из stdin не читать или ничего в stdout не писать (второе — едва ли).

Узнать можно, почитав исходники :idiot2: Но это, конечно не решение проблемы.

А вообще, в связи с чем возникла такая задача? Может быть, ее можно решить по-другому?
Делюсь знаниями, но их у меня мало!

Оффлайн Acruax

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Стандартный поток ввода и вывода - I/O
« Ответ #4 : 13 Апреля 2011, 00:36:55 »
Одно из заданий на лабораторку в универе. Это помимо того, что еще в домашке есть задание изменить конфигурационный файл ./bashrc так, чтобы при начале каждой сессии в терминале, в файл mylog.log писалась дата, ну это понятно как можно хоть написать - date >> mylog.log, а вот потом веселье с тем, что надо как-то все введенные в терминал команды записать в этот лог файл, и ума не приложу как их отловить, чтоб вписать в лог файл...

Пользователь решил продолжить мысль 13 Апреля 2011, 00:40:57:
Возможно это важно, потому добавлю, что работа с конвейерами должна быть, потому и необходимо определить для каких команд возможен только вход, только выход, для каких и то и другое, а для каких вообще ничего
« Последнее редактирование: 13 Апреля 2011, 00:40:57 от Acruax »

Оффлайн Tarasov

  • Участник
  • *
  • Сообщений: 150
  • debian lenny
    • Просмотр профиля
Re: Стандартный поток ввода и вывода - I/O
« Ответ #5 : 15 Апреля 2011, 10:31:13 »
Одно из заданий на лабораторку в универе. Это помимо того, что еще в домашке есть задание изменить конфигурационный файл ./bashrc так, чтобы при начале каждой сессии в терминале, в файл mylog.log писалась дата, ну это понятно как можно хоть написать - date >> mylog.log, а вот потом веселье с тем, что надо как-то все введенные в терминал команды записать в этот лог файл, и ума не приложу как их отловить, чтоб вписать в лог файл...

Пользователь решил продолжить мысль 13 Апреля 2011, 00:40:57:
Возможно это важно, потому добавлю, что работа с конвейерами должна быть, потому и необходимо определить для каких команд возможен только вход, только выход, для каких и то и другое, а для каких вообще ничего
.bash_history есть такой файлик
NVIDIA user

Оффлайн inkblack

  • Старожил
  • *
  • Сообщений: 1216
    • Просмотр профиля
Re: Стандартный поток ввода и вывода - I/O
« Ответ #6 : 15 Апреля 2011, 11:35:17 »
Супер! То есть, надо просто в .bashrc написать date >> .bash_history! Очень, очень полезная вещь. Для лабы, по-моему, не совсем то, а в жизни пригодится!
Делюсь знаниями, но их у меня мало!

 

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