суть задачи: есть некий файл, содержмое которого мы хотим посмотреть. при этом размер оного неизвестен. если просто вывести его с помощью cat - он может оказаться длиннющей простыней с кучей коментариев и пр., которая даже не влезет целиком в прокрутку. а ежели пускать все через less - с файлами из трех строк это только мешает. можно, конечно, предварительно смотреть размер файла или скармливать его wc -l, но я решил изобрести путь проще:
# ! /bin/bash
eval "$(resize)"
input="$(cat)"
length=$(echo "$input" | wc -l)
if [ "$length" -gt "$LINES" ] ; then
echo "$input" | less
else echo "$input"
fi
сей нехитрый скрипт сохраняем в ~/.bin (папка прописывается в ~/.profile), в /usr/bin (нужны права рута) или еще куда, называем, к примеру, long и делаем исполняемым (chmod +x /path/to/long). можно попробовать запихать в bashrc в качестве функции - честно говоря, не проверял. теперь вместо
cat /etc/fstab | less
используем
cat /etc/fstab | long
если количество строк в файле меньше высоты (в строках) терминала/tty-консоли - содержимое выводится напрямую. если больше - через less.
наслаждайтесь)))