Сайт | Скачать | Видео | Wiki

Автор Тема: Новый адрес для man  (Прочитано 5541 раз)

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

Оффлайн Lexeii

  • Почетный участник
  • Постоялец
  • *
  • Сообщений: 147
  • Репутация: +24/-0
  • Автор темы
    • блог Lexeii
Новый адрес для man
« : 19 Декабрь 2009, 18:44:36 »
Здравствуйте!
Я использую PuppyRus Jeans 3.01. В других дистрибутивах может быть немного по-другому.
Предлагаю в скрипте /usr/bin/man изменить строчку
Код
exec defaulthtmlviewer http://ru.wikipedia.org/wiki/${1}
(находящуюся почти в самом конце) на следующую:
Код
exec defaulthtmlviewer "http://linux.tultip.net/`echo ${1} | tr [a-z] [A-Z]`.htm"
Вкрапление кода переводит буквы в ПРОПИСНЫЕ -- это обязательно, иначе 404.

Рекомендую. Страниц man там очень много.
Linux is user friendly... It's just picky about who it  becomes friends with.

Оффлайн vkvkvk

  • Почетный участник
  • Постоялец
  • *
  • Сообщений: 138
  • Репутация: +29/-0
Re: Новый адрес для man
« Ответ #1 : 19 Декабрь 2009, 20:34:30 »

 Спасибо,  +1

Оффлайн kostik

  • Постоялец
  • ***
  • Сообщений: 123
  • Репутация: +19/-0
Re: Новый адрес для man
« Ответ #2 : 20 Декабрь 2009, 09:30:28 »
Вот ещё конструкция (задействована в puppy-4.3.1) :
Код
exec defaulthtmlviewer "http://www.google.com/search?&q=man+\"${1}\"+site:linux.die.net&btnI=Search"

Оффлайн Lexeii

  • Почетный участник
  • Постоялец
  • *
  • Сообщений: 147
  • Репутация: +24/-0
  • Автор темы
    • блог Lexeii
Re: Новый адрес для man
« Ответ #3 : 21 Декабрь 2009, 06:27:04 »
Ладно! Гулять -- так гулять!  :D
Что вы скажете об этом?

Код
mkdir -p /usr/share/doc/man

lookup ()
{
    wget -q -O $MANPATH $NETPATH
    grep -q ">>" "$MANPATH"
    GTGT=$?
  if [ -s $MANPATH ] && [ $GTGT -eq "0" ]
  then
    echo "Нашли :)"
    exec defaulthtmlviewer file://$MANPATH
    exit 0
  else
    rm $MANPATH
    echo "Не найдено :("
    return 1
  fi
}

  SMALL=`echo ${1} | tr [A-Z] [a-z]`
  BIG=`echo ${1} | tr [a-z] [A-Z]`
  MANPATH=/usr/share/doc/man/$SMALL.html

  NETPATH=http://linux.tultip.net/$BIG.htm
  echo -n "Ищем на linux.tultip.net... "
  lookup
 
  if [ $?=1 ];then
    NETPATH=http://www.linux.opennet.ru/cgi-bin/opennet/man.cgi?topic=$SMALL
    echo -n "Ищем на linux.opennet.ru... "
    lookup
  fi

  if [ $?=1 ];then
    echo "Последнее средство -- Google... "
    exec defaulthtmlviewer "http://www.google.com/linux?hl=ru&q=%22man+$SMALL%22&btnI=%D0%9C%D0%BD%D0%B5%20%D0%BF%D0%BE%D0%B2%D0%b5%d0%b7%d1%91%d1%82%21&lr=lang_ru"
  fi

Ногами сильно не пинайте -- bash только неделю учу.
Этот код вставляется вместо той самой одной-единственной строчки, о которой говорилось ранее.

Зачем так много?  ;)
Во-первых, маны, которые вы скачали раз из интернета, теперь не нужно скачивать второй раз -- создаётся кэш в папке /usr/share/doc/man, где они с успехом находятся (как и было задумано Барри Каулером).

Во-вторых, одна голова -- хорошо, а две -- лучше. Это я о мультипоиске.

Документация всегда должна быть под рукой.

Проверяем. man cat находит "с первого выстрела", man firefox -- со второго, а man foobar -- ... может Google чего посоветует? ;) Работает.
Буду не против, если кто-нибудь ещё доработает скрипт.
« Последнее редактирование: 21 Декабрь 2009, 06:49:13 от Lexeii »
Linux is user friendly... It's just picky about who it  becomes friends with.