LINUX.ORG.RU
ФорумTalks

Терминал здорового человека, который не курит

 


0

2

А вот хотелось бы поговорить об вещах для линукса фундаментальных.

Вот у нас есть терминал. Есть всякие окраски, автозавершения и т.д.. Но говно ваш терминал. Потому что терминал занимается тем, что эмулирует vt101 или подобное говно. Ну правда, а почему графику в терминале надо выводить через libsixel которая эмулирует ещё какой то очередной кусок гавна из 80х?

Проблема линупсового терминала в его убожестве, которое возведено в ранг религии. Вот вам пример: я в терминале здорового человека для всех файлов типа png сделать cat .... | tranform_somehow | transform_ololo | write ...

Нереализуемый пример ибо нельзя сказать следующему процессу в пайпе что я ему буду выдавать, нельзя с ним договориться, и т.д.

Я помню как alan cox с линусом поругались. Кокс говорил что терминальному говну не место в ведре и я с ним согласен. Терминал следует свести к пайпу с доп.функциями. в сам пайп надо внести обратную связь и кстати пайпу вообще можно заменить на shm

☆☆☆

Нереализуемый пример ибо нельзя сказать следующему процессу в пайпе что я ему буду выдавать, нельзя с ним договориться, и т.д.

Передавай пайп пайпов, в чем проблема?
А при чем тут терминал, собственно?

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

нужно-нужно! за содержательными примерами - добро пожаловать в LINQ (это такое подмножество C#)

первое что приходит в голову: команда справа по трубе может сказать команде слева по трубе, что ей нужен не весь ее выхлоп, а только какая-то конкретная часть. Или попросить выдать инфу в таком формате, который удобней парсить. Это может на порядки ускорить выполнеие трубы.

ну и да, привет Power Shell! там всё очень печально, но со структурированной инфой они в каком-то виде работают, куда лучше чем баш

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

Со структурированной информацией вполне можно работать и через пайпы, если по ним информацию передавать, скажем, через гуглопротобуф или даже XML.

Или я не понял, в чём проблема?

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

в пайпе следующий элемент не может потребовать от предыдущего ничего. Это труба с данными, вода временно назад по трубе литься не может

линку тоже выглядит как труба, но на самом деле у него под капотом парсер деревьев выражений, полноценный конструктор DSL. Последний элемент в трубе может поменять смысл всей трубы целиком (если это нужно). Например, это может быть полезно в SQL-подобном синтаксисе, когда у тебя group-by зависит от набора выбирающихся полей. Например, можно не запуская всю трубу целиком сразу сказать, что труба не отработает, потмоу что в селекте слишком мало данных, чтобы потом в конце трубы сделать по ним group-by. Или даже, последний элемент group-by x может неявным образом добавить select x в начало трубы, чтобы данных хватило («автопочинка выражения»).

а в баше, насколько понимаю, фиг ты так сделаешь. Такую фичу даже добавить туда нельзя, ибо там парсер такой заковыристый и уродский, что даже тупо «свой баш» написать-то нельзя, не то что расширить

stevejobs ★★★★☆
()

ТСу

завязывай с башем

sqq
()

Вот вам пример: я в терминале здорового человека для всех файлов типа png сделать cat .... | tranform_somehow | transform_ololo | write ...

Это хорошо. Что сказать-то хотел?

t184256 ★★★★★
()

putty.exe — лучший терминал всех времен и народов, да?

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