LINUX.ORG.RU

bash wrapper

 , ,


0

1

Я решил интегрировать свои кириллические алиасы в самописную командную оболочку (надстройку над bash). Порылся в гугле, и родил вот такой код (Github).

alias см='cd'
alias ск='mkdir'
alias сс='ln -s'

Подскажите, почему при Permission denied (выполняю ls /root/) поток stderr можно прочитать только за два цикла while not IOError: p.stdout.read()? (у меня вывод stderr посылается в stdout)

То есть, вначале получается прочитать `ls: cannot open directory /root/`, и только после этого - конец сообщения `: Permission denied`.

С чем это связано?

★★★★★
Ответ на: комментарий от pacify

Я вставил искуственно задержку

И вашим враппером будут пользоваться только вы. :)

советуют использовать asyncio

Можно подумать, оно поможет.

С чего вы решили, что пользователь хочет видеть вывод только после завершения запущенных программ, а не в процессе появления от них сообщений?

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

И вашим враппером будут пользоваться только вы. :)

Лол :-) Как будто есть шанс на нечто другое :-) Лол :-)

anonymous
()
Ответ на: комментарий от vodz

С чего вы решили, что пользователь хочет видеть вывод только после завершения запущенных программ

У меня сейчас дамп stdout-а реализован в отдельном потоке с ждущим select(). Попробуй, запусти yes - будет выдаваться в рилтайме.

Я вставил искуственно задержку

И вашим враппером будут пользоваться только вы. :)

Увы, вчера надо было ложиться спать, и успеть отправить коммит - чтобы друг прочитал.

Парсить на наличие Command prompt я пока не хочу.

Сорцы выкладываю ведь не с подписью «в продакшн», а для тех - кто умеет читать. Вон, Гоголь тоже не дописал свои романы.

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