ABSTRACT: es wird der begriff "shell" erklaert und eine kurzeinfuehrung in die bedinung der "bash" gegeben und ein einfaches script erstellt. AUDIENCE: beginners SYSTEM: any unix SECTION: basic unix commands AUTHOR: mond COPYRIGHT: GNU Free Documentation Licence http://www.gnu.org/licenses/fdl.txt jetzt haben wir ja schon einige programme kennengelernt. das mit dem du bis jetzt am oeftesten gearbeitet hast haben wir aber noch nicht besprochen. die "bash". die bash ist eine shell. das programm dass die befehle die du eingiebst liest und dann ausfuehrt. neben der bash gibt es noch viele andere "shell" programme. doch bash ist der standard auf linux und auch auf anderen unixen sehr beliebt. bash steht fuer "bourne again shell" und ist eine weiterentwicklung der alten "bourne shell (bsh)" (benannt nach dem herrn "bourne") die bash bearbeitet also die eingaben auf der befehlszeile und gibt dir einen prompt (eingabeaufforderung) aus. weiters hat sie auch einfache editierfunktionen. wir kennen die meisten tastenkuerzel schon von jed/emacs: ^ steht hier fuer die control taste: ESC steht fuer die ESC taste (meta) ^a ..... anfang der zeile ^e ..... ende der zeile ^k ..... alles loeschen bis zum ende der zeile ^p ..... previous. eine zeile zurueckblaettern ^n ..... naechste zeile ESC b .. back. vorhiges wort. ESC f .. forward. naechstes wort. ^r ..... reverse-incremental-search nach dem ^r kannst du zeichen eingeben und er sicht dir in den vorherigen befehlen (die sogenannte "history") den befehl raus wo die zeichen drinnen sind. wenn du fertig bist tippst einfach return um den befehl aus- zufuehren. TAB .... tabulator zum vervollgstaendigen von dateinamen. die TAB taste ist besonders nuetzlich. sie vervollstaendigt angefangen pfade oder dateinamen. wenn du an einer stelle bist an der du ein kommando eingeben darfst so vervollstaendigt sie anhand der list aller ausfuehrbaren befehle. fuer oft benutez befehle kann man sich in der bash aliase setzten. alias alleine zeigt dir die gesetzten aliase an: alias bla='ls -l' wuerde dir den befehl bla definieren der ls -l macht. die so definierten aliase gelten aber nur fuer die momentane shell. will man sie permanent haben so muss man sie in eines der files schreiben die die bash beim starten liest. das besprechen wir spaeter. wenn du mehrere befehle oft ausfuehren willst dann kanst du die in einem sogenanten "shellscript" zusammenfassen. shellscripts sind sehr leistungsfaehig aber hier wollen wir nur mal ganz einfache sachen: die legst dir z.b. mit joe hallo.sh (oder einem anderen editor deiner wahl) ein file an und schreibst folgenden inhalt hinein: #!/bin/bash fortune sleep 2 echo hallo welt sleep 2 echo das wars fuer heute dann speicherst das file ab und macht folgenden befehl: chmod ugo+rx hallo.sh (dieser befehl sagt dass hallo.sh fuer alle (user group others) lesbar (r) und ausfuehrbar (x) sein soll aber darueber lernen wir spaeter mehr). ausfuehrbar heisst dass es eine art eigener befehl ist. du kannst diesen befehl nun anstarten mit: ./hallo.sh die erste zeile des script: #!/bin/bash sagt dass es ein bash script ist. dort koennte auch etwas anderes stehen dann koennte man eine andere sprache zum scriptschreiben verwenden.. und die restlichen befehle im script kennst du ja schon.. spaeter machen wir dann mal sinnvollere scripts.. aber das prinzip haben wir ja mal... EXERCISES: * mach dich mit den editierfunktionen der shell vertraut (besonders reverse incremntal search und TAB vervollstaendigung) * sieh dir an welche aliase auf deiner shell definiert sind. * versuch ein aehnliches kurzes script wie oben gezeigt zu schreiben. (das chmod ugo+rx nicht vergessen) REFERENCES: man bash help (help in der bash gibt dir hilfe zur bash)