Essa solução funciona perfeitamente bem, mas também é uma piada, porque a primeira coisa que pensei ao ler sua pergunta foi 'Quem ainda literalmente usa o homem a partir da linha de comando? Todo mundo não apenas pesquisa no Google a página de manual que deseja (para obter coisas sofisticadas, como rolagem ilimitada)? '. Então percebi que os sites que eu Google geralmente têm ambos os tipos de comandos; por que não usá-los apenas para fornecer uma interface uniforme da página de manual em todos os comandos. Por isso, essa diversão nasceu.
Isso requer uma conexão com a Internet para todas as entradas que você ainda não procurou pelo menos uma vez. Ele também precisa desses dois aplicativos pequenos que estão faltando em uma instalação padrão do Ubuntu:
sudo apt-get install tidy html2text
Estes não são absolutamente necessários, mas ajudam a torná-lo um pouco melhor. O Tidy limpará o HTML e o html2text formatará esse html como texto formatado (o que geralmente é bastante trivial, pois a maioria desses sites já está formatada em texto e apenas envolta em tags <pre>.
Agora tudo que você precisa fazer é adicionar isso ao final de ~/.profile
:
function iman() {
if [ ! -d "/usr/share/iman" ]; then
sudo mkdir -m a=rwx /usr/share/iman
fi
if [ ! -f "/usr/share/iman/$1.html" ]; then
curl "http://unixhelp.ed.ac.uk/CGI/man-cgi?$1"| tidy -n -asxml 2>/dev/null| html2text > "/usr/share/iman/$1.html";
fi
if [ -f "/usr/share/iman/$1.html" ]; then
cat "/usr/share/iman/$1.html";
else
echo "Entry not found."
fi
}
Após o logout e o login novamente, você poderá digitar o seguinte:
iman cd
e exibirá a página de manual para cd
.
Isso usa um diretório de dados (/ usr / share / iman) para minimizar nossos requisitos de rede (assim funcionará para entradas que você já encontrou antes mesmo sem a conexão; também para minimizar a carga neste site aleatório de páginas de manual do linux Encontrei com as entradas do sistema que também queremos). Se você não usar mais isso, remova-o para recuperar o espaço em disco.
Felizmente, o resto é bastante direto.
echo
é um comando interno, mas tem uma página de manual?