Start   Impressum   Lizenz         online lesen   Download         Online-Shop   Jumping Blue Turtle

Debian für Unternehmer - Debian-Know-how

7000: Grundautomationen

Ziel dieses Moduls ist es, die Grundlagen dafür zu schaffen, ...

  • ... dass Sie Kurzbefehle in die Shell eintippen können, um bei der täglichen Arbeit benötigte leistungsfähige Shell-Skripte zu starten.
  • ... dass im Wurzelverzeichnis häufig benötigte Einstiegsverzeichnisse vorhanden sind.

1. Schaffen Sie sich einen Automationsaufsatz

Ich empfehle, den Automationsaufsatz in einer Datenpartition zu hinterlegen, um ihn vom eigentlichen Betriebssystem weitgehend zu entkoppeln. Der Automationsaufsatz kann als eine Abstraktionsebene betrachtet werden, die sich über dem Betriebssystem befindet. Der Automationsaufsatz ist ein Bindeglied zwischen Betriebssystem und den eigenen Projekten und ist daher persönlich genug, so dass seine Existenz in der store-Partition gerechtfertigt ist.

Ich empfehle, den Automationsaufsatz in diesem Verzeichnis anzusiedeln:

/store/system

Das "system"-Verzeichnis selbst sollte möglichst ein Symlink sein, der auf ein Verzeichnis zeigt, das in einem Verzeichnisbaum eingebettet ist, der einem regelmäßigen Backup unterliegt.

Im "system"-Verzeichnis selbst sollte sich ein Verzeichnis mit dem Namen "00_automationsaufsatz" befinden, welches die Verzeichnisse "del" und "set" enthält. Hier sortieren Sie weitere Shell-Skripte ein, deren Aufgabe das Ein- und Ausklinken von Verzeichnissen in das Betriebssystem ist.

1.1. Skript zum Entfernen des "system"-Verzeichnisses

Hinterlegen Sie ein Skript mit dem Namen
"/store/system/00_automationsaufsatz/del/00_del_system.sh".

#!/bin/bash

rm /store/system

Es entfernt das "system"-Verzeichnis.

1.2. Skript zum Erzeugen des "system"-Verzeichnisses

Hinterlegen Sie ein Skript mit dem Namen
"/store/system/00_automationsaufsatz/set/00_set_system.sh".

#!/bin/bash

if !(test -L "/store/system"); then
  ln -s a/b/c/d/store/system /store/system
fi

Es erzeugt das "system"-Verzeichnis.

Auf diese Weise schaffen Sie sich einen Automationsaufsatz, der den Begriff "Aufsatz" im Wort verdient hat: Sie können die Automation auf jedes Betriebssystem auf- und wieder absetzen. Ganz einfach per Shell-Skript.

2. Pro Benutzer "~/bin" anlegen und Umgebungsvariablen setzen

Am Beispiel des Benutzers "root" zeige ich Ihnen, wie Sie pro Benutzer Shell-Skripte hinterlegen können, die der User direkt interpretieren kann.

Schaffen Sie sich einen Mechanismus, mit dem Sie derartige Shell-Skripte per Knopfdruck in das Betriebssystem ein- und wieder ausklinken können.

2.1. Skript zum Entfernen des "bin"-Verzeichnisses

Hinterlegen Sie ein Skript mit dem Namen
"/store/system/00_automationsaufsatz/del/01_del_root_bin.sh".

#!/bin/bash

rm ~/bin

Es entfernt das "bin"-Verzeichnis für "root".

2.2. Skript zum Erzeugen des "bin"-Verzeichnisses

Hinterlegen Sie ein Skript mit dem Namen
"/store/system/00_automationsaufsatz/set/01_set_root_bin.sh".

#!/bin/bash

if !(test -L "${HOME}/bin"); then
  ln -s ../store/system/01_root_bin ~/bin
fi

Es erzeugt das "bin"-Verzeichnis für "root".

2.3. Beispiel-Befehle

Folgende Shell-Skripte können Sie im "bin"-Verzeichnis eines Users hinterlegen:

  • t:
    #!/bin/bash
    
    xterm -sl 10000 -geometry 120x38 -fg rgb:C0/FF/FF -bg rgb:50/60/40 &
    
  • tt:
    #!/bin/bash
    
    xterm -sl 10000 -sb -geometry 208x38 -fg rgb:C0/FF/FF -bg rgb:50/60/40 &
    
  • n:
    #!/bin/bash
    
    nedit -g 80x30+445+422 $1 &
    
  • ko:
    #!/bin/bash
    
    konqueror `pwd` &
    
  • o:
    #!/bin/bash
    
    openoffice $1 &
    
  • a:
    #!/bin/bash
    
    acroread $1 &
    
  • chmod644:
    #!/bin/bash
    
    if [ "$1" = "" ]; then
      echo Aus Sicherheitsgruenden ist die Direktangabe abgeschaltet.
    else
      find . -maxdepth $1 \! -type d -exec chmod 644 {} \;
    fi
    
  • u:
    #!/bin/bash
    
    xterm -en UTF8 &
    
  • job (konserviert eine Verzeichnis-Umgebung):
    #!/bin/bash
    
    echo -e -n "#!/bin/bash\\n">/go/runmc_job
    echo -e -n "\\n">>/go/runmc_job
    echo -e -n "xterm -geometry 160x30\\\\\\n">>/go/runmc_job
    echo -e -n " -e\\\\\\n">>/go/runmc_job
    echo -e -n " \"mc\\\\\\n">>/go/runmc_job
    echo -e -n " `pwd`\\\\\\n">>/go/runmc_job
    echo -e -n " `pwd`\"&\\n">>/go/runmc_job
    

Der Phantasie sind keine Grenzen gesetzt. Richtig eingesetzt (z.B. in Kombination mit dem Midnight-Commander) steigern derartige Befehle die Effizienz ungemein.

2.4. "bin"-Verzeichnis in den PATH aufnehmen

Damit all die wunderbaren Kurzbefehle auch funktionieren, müssen Sie das "bin"-Verzeichnis in den PATH aufnehmen. Editieren Sie dazu die Datei "~/.bashrc". An das Ende dieser Datei fügen Sie folgenden Aufruf ein:

if [ "${UNIQUE_CALL}" != "already called" ]
then
  export UNIQUE_CALL="already called"
  export PATH=$PATH:$HOME/bin
fi

Erklärung: Mit jedem Aufruf von BASH wird die ".bashrc" ausgeführt. Um zu vermeiden, dass das "bin"-Verzeichnis mit jedem BASH-Aufruf erneut an den PATH angehängt wird, wird mit der Umgebungsvariable ${UNIQUE_CALL} getestet, ob das "bin"-Verzeichnis bereits vorher einmal angehängt wurde.

3. Das "go"-Verzeichnis

Im "go"-Verzeichnis können Sie Skripte hinterlegen, die Sie per Tastendruck unmittelbar in Ihre aktuellen Projekte befördern, ohne dass Sie erst lange suchen müssen.

3.1. Skript zum Entfernen des "go"-Verzeichnisses

Hinterlegen Sie ein Skript mit dem Namen
"/store/system/00_automationsaufsatz/del/03_del_go.sh".

#!/bin/bash

rm /go

Es entfernt das "go"-Verzeichnis.

3.2. Skript zum Erzeugen des "go"-Verzeichnisses

Hinterlegen Sie ein Skript mit dem Namen
"/store/system/00_automationsaufsatz/set/03_set_go.sh".

#!/bin/bash

if !(test -L "/go"); then
  ln -s store/system/03_go /go
fi

Es erzeugt das "go"-Verzeichnis.

3.3. Beispiel-Skripte

Wie gesagt, hier kommen Skripte hin, die Sie in ein aktuelles Projekt befördern. Ich als Autor von Debian für Unternehmer benutze beispielsweise folgendes Skript:

  • /go/run_debian_fuer_unternehmer
    #!/bin/bash
    
    xterm -geometry 160x30\
     -e\
     "mc\
     /store/.../1debian\
     /store/.../1debian/module"&
    

Empfehlenswert ist auch ein Skript, das einen Midnight-Commander mit einer Standard-Verzeichnis-Umgebung startet. Starten Sie zum Beispiel auf der linken Seite das Wurzelverzeichnis all Ihrer Projekte und auf der rechten Seite das Wurzelverzeichnis Ihrer wichtigsten Backup-Festplatte:

  • /go/runmc
    #!/bin/bash
    
    xterm -geometry 160x30\
     -e\
     "mc\
     /store/x/y/z\
     /store/a/b/c/d"&
    
3.4. Starten der Skripte

Um derartige Skripte zu starten, können Sie Shortcuts definieren, so wie im Modul 1210 bereits gezeigt.

Damit Sie nach der Installation eines neuen Betriebssystems nicht erst lange überlegen müssen, machen Sie sich eine Liste und legen Sie diese Liste im Rohstofflager ab.