>>> В шелле есть другая, гораздо более значимая проблема:
>> Не-а. То есть совсем мимо кассы.
> Нет.Да.
>>Неправда, на чистом шелле можно сделать достаточно много -- почитайте исходники
>>http://altlinux.org/libshell или http://www.altlinux.org/control и удивитесь.
> Покажите в Debian.
В дебиане и этого нет, помнится. Ссылки на git предложенного для чтения в качестве примера нетривиальных программ/блоков на shell устроят?
>> И часто Вы лично встречаете mc или там screengrab в *скриптах*?
> Как насчёт testdisk, например?
Никак, выкинул в пользу gpart при реальном столкновении с вопросом. Встречный вопрос -- Вы пробовали скриптовать восстановление уничтоженной таблицы разделов? Было бы крайне интересно узнать про обстоятельства, сподвигнувшие на такую автоматизацию. Кроме шуток.
> Пример из практики - smartctl. Он знает про pipe?
Да, конечно.
> Чем разбирать его вывод?
Хоть grep или awk. И спасибо, почитал про -f brief (хотя сделать ещё и приспособенный для машинного разбора формат и зафиксировать его было бы совсем хорошо).
Вот пример из жизни:#!/bin/shsmartquery() {
smartctl -d ata -a /dev/sd$1 2>&1 \
| egrep "$PAT" \
| while read line; do
echo "sd$1: $line"
done
}
tempquery() {
echo -n "sd$1: "
hddtemp -nq /dev/sd$1
}
#DISKS="a b c d e f g h"
DISKS="b c d e f g h i"
PAT="UDMA_CRC_Error_Count|Reallocated_Event_Count|Offline_Uncorrectable"
PAT="$PAT|Current_Pending_Sector|Raw_Read_Error_Rate|Seek_Error_Rate"
echo "querying... "
for i in $DISKS; do smartquery $i; done | grep -v " 0$" | sort
echo
echo "temperatures... "
for i in $DISKS; do tempquery $i; done | sort -rnk2
> Над программой с псевдографикой не написать ничего на шелле.
Как автор одной из mc extfs выражаю крайнее удивление.
> Внешние шеллу программы могут иметь другую политику.
Вы о чём? Не всякая программа годится для работы в конвейере -- это очевидно и в повторении не нуждается. И доводом не является, поскольку существуют пригодные для такой работы программы.
> Glue можно разные вещи - как программы с почти естественным языком на
> выходе, так и вполне себе библиотеки с уже разложенными по структуре
> данными. Сложность при этом разная. Максимально возможный результат
> за одинаковое время - тоже.
Спасибо, лейтенант.