Hallo. Ich habe ein Skript geschrieben um die Manpages mal übersichtlich in einer lokalen "Datenbank" zu sammeln und übersichtlich darzustellen. Ich poste es auch hier, da es nicht sooo lag ist und sich so länger hält.
Es benutzt man2html um die Manpages darzustellen via html in einem Browser
Dabei wird ein html-File angelegt in dem steht dann einfach
man1
man2
man3
...
Das kann man anwählen und kommt zu einer Liste von Manpages die man wiederrum anwählen kann.
Es wird eine "Datenbank" angelegt in einem Ordner im homeverzeichnis "~/.MeinStandardOrdner". Desweiteren stelle ich die htmls mit firefox dar. Auch das ist natürlich Geschmackssache
Das geht bestimmt noch klüger.
Vor allem das "Auffrischen" der Datenbank läuft ja nur über vollständiges Neuerstellen, was an Ineffiezienz kaum zu überbieten ist.
Wenn man das Skript startet wird man per zenity gefragt, was man machen will.
Ist jetzt nicht so spannend, aber mir war langweilig und vielleicht kanns jemand gebrauchen 😀
Grüße DaWi
ps: man benötigt das Programm: man2html....selbstverständlich
#!/bin/bash
#funktionen
test_zenity_output()
{
if [ $? -eq 1 ]
then
exit 1
fi
}
eine_page_einrichten()
{
mkdir ~/.MeinStandardOrdner/$1
list=$(ls /usr/share/man/$1)
echo "<html>"> ~/.MeinStandardOrdner/$1.html
echo "<head>">> ~/.MeinStandardOrdner/$1.html
#echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">">> ~/.MeinStandardOrdner/$1.html
echo "<title>kleine \"$1\"</title>">> ~/.MeinStandardOrdner/$1.html
echo "</head>">> ~/.MeinStandardOrdner/$1.html
echo "<body>">> ~/.MeinStandardOrdner/$1.html
echo "<ul>">> ~/.MeinStandardOrdner/ManPager.html
for i in $list
do
echo "<li> <a href=\"$1/$i.html\">$i</a> </li>">> ~/.MeinStandardOrdner/$1.html
man2html /usr/share/man/$1/$i>~/.MeinStandardOrdner/$1/$i.html
done
echo "</ul>">> ~/.MeinStandardOrdner/ManPager.html
echo "</body>">> ~/.MeinStandardOrdner/ManPager.html
echo "</html>">> ~/.MeinStandardOrdner/ManPager.html
}
hauptfile_anlegen()
{
echo "<html>"> ~/.MeinStandardOrdner/ManPager.html
echo "<head>">> ~/.MeinStandardOrdner/ManPager.html
#echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">">> ~/.MeinStandardOrdner/ManPager.html
echo "<title>kleine \"ManPager\"</title>">> ~/.MeinStandardOrdner/ManPager.html
echo "</head>">> ~/.MeinStandardOrdner/ManPager.html
echo "<body>">> ~/.MeinStandardOrdner/ManPager.html
echo "<ul>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li> <a href=\"man1.html\">man1</a> </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li> <a href=\"man2.html\">man2</a> </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li> <a href=\"man3.html\">man3</a> </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li> <a href=\"man4.html\">man4</a> </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li> <a href=\"man5.html\">man5</a> </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li> <a href=\"man6.html\">man6</a> </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li> <a href=\"man7.html\">man7</a> </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "<li> <a href=\"man8.html\">man8</a> </li>">> ~/.MeinStandardOrdner/ManPager.html
echo "</ul>">> ~/.MeinStandardOrdner/ManPager.html
echo "</body>">> ~/.MeinStandardOrdner/ManPager.html
echo "</html>">> ~/.MeinStandardOrdner/ManPager.html
}
#das skript
buffer=$(zenity --list --radiolist --text "Was wollen Sie tun?" --column "" --column "" True "ManPage anzeigen" False "Datenbank anlegen")
test_zenity_output
if( echo $buffer | grep "ManPage" )
then
if( file -b ~/.MeinStandardOrdner/ManPager.html | grep ERROR)
then zenity --error --text="Es muss zuerst das file angelegt werden"
exit 1
fi
firefox ~/.MeinStandardOrdner/ManPager.html
else
echo
mkdir ~/.MeinStandardOrdner
#files anlegen
hauptfile_anlegen
eine_page_einrichten man1
eine_page_einrichten man2
eine_page_einrichten man3
eine_page_einrichten man4
eine_page_einrichten man5
eine_page_einrichten man6
eine_page_einrichten man7
eine_page_einrichten man8
fi
exit 0