tux

L i n u x - S c h u l e
Tipps und Tricks zu Linux

  Homepage | Server | Linux-Clients | Win9x-Clients | WinNT-Clients | Win3.11-Clients | Dos-Clients | Utilities   

  1. Shell Scripte
  2. Einstellen des Standardeditors
  3. Dateien in Kleinschreibung um wandeln
  4. Download im Hintergrund

Shell Scripte ("Batch-Dateien")

Ein Shell Script beginnt immer mit folgender Zeile:
#!/bin/sh
Dadurch wird dem System mitgeteilt, welcher Interpreter die folgenden Befehle ausführen soll. Scripte, die laufende Meldungen anzeigen, können mit [CTRL] + C abgebrochen werden.
Beispiele:

#!/bin/sh
# Dateiname: /usr/bin/slog
# Funktion: zeigt laufen die Meldungen von /var/log/messages
# wird mit [STRG] + [C] abgebrochen
tail -f /var/log/messages
#EOF

#!/bin/sh
# Dateiname: copieren
# Funktion: Kopiert eine Datei foo.dat aus /root/tmp in alle
# Homeverzeichnisse von Schülern
# und wechselt die Besitzrechte auf den Schüler
for i in `cat /etc/passwd | grep :102: | cut -d: -f1` do
cp /root/tmp/foo.dat /home/$i
chown $i.schueler /home/$i/foo.dat
done
exit 0
#EOF


Einstellen des Standardeditors

Viele Anwender kommen mit dem Standardeditor unter Unix, dem vi, nicht klar. Um sich z.B. joe als Standardeditor einzustellen, muß dei Datei /etc/profile geändert werden. Dort kann nach der ersten Zeile eingefügt werden:

export EDITOR=/usr/bin/joe

Ein paar Tips zum vi dürfen aber trotzdem nicht fehlen :-)

Nach dem Öffnen befindet sich vi im Kommandomodus, nach Drücken der Taste i wechselt er in den Eingabemodus. Hier funktioniert auch die [ENTF] Taste wie gewohnt.
Der Eingabemodus wird mit [ESC] verlassen.
Abgespeichert wird durch Eingabe von :wq (der Doppelpunkt gehört dazu!)
Möchte man einen Buchstaben löschen, geschieht dies im Kommandomodus durch Drücken der Taste d und der Leertaste, eine ganze Zeile löscht man mit dd.


Dateien in Kleinschreibung umwandeln

Manchaml ist es notwendig, einzelne Dateien oder ganze Verzeichnisse von Groß- in Kleinschreibung um zuwandeln (z.B. wenn man SELFTHTML von einer CD auf die Festplatte kopiert, um es im Intranet zugänglich zu machen).
Mit dem "Midnight Commander (mc)" geht das ganz einfach:

Alle dateien + Verzeichnisse markieren
F6 (umbenennen/bewegen)

von: *
nach: \L*
[x] shell pattern
[x] Unterverzeichnisse


Download im Hintergrund per Shellscript

Aus einer Mail von Gisbert Friege in der schan-user Liste:
schreibe ( unter Linux : mit joe oder mcedit oder vi ! und kein copy-paste aus dieser Mail wegen der anderen Zeilenumbrüche bei Unix ! ) foglende Zeilen in eine Datei mit dem Namen "getArktur":

#! /bin/bash
ftp -n <<+
open marvin.sn.schule.de
user anonymous GNeubauer@bigfoot.de
cd pub/linux/Image
bin
get ods32t10.raw
bye
+
# Ende von getArktur

Stelle dann erstmal fest, ob dort in dem Verzeichnis, in dem Du das
Image ablegen willst, gnug Platz ist .
Kopiere getArktur in dieses Verzeichnis.
Wechsle ( mit cd auf der Kommandozeile ) in dieses Verzeichnis.
Gib auf der Kommandozeile ein:

at 21:15 < getArktur

Jetzt kannst Du Dich beruhigt ausloggen ( Strg D ), den Rest erledigt
der at-Dämon.
Das hat bei mir schon zweimal einwandfrei geklappt.
Das dürfte auch wesentlich schneller gehen als mit der ftp-Funktion von
mc.

  Nach oben

© Thomas Litsch, zuletzt aktualisiert 30.04.2000, Email: thomas.litsch@linux-schule.de