HomeSoftwareSpieleMusikForum

Shellfunktionen laden (3)

Beipiel: Als Beispiel sei hier meine persönliche Konfiguration angeführt. Shellfunktionen, die ausschließlich für bash gedacht sind, liegen im Verzeichnis /local/shellfunc/bash, Funktionen für ksh in /local/shellfunc/ksh, und Funktionen, die von beiden benutzt werden, in /local/shellfunc/bash+ksh.

  • Kornshell: In der Datei ~/.profile
    export FPATH=/local/shellfunc/ksh:/local/shellfunc/bash+ksh
    PATH+=":$FPATH"
  • Bash: In der Datei .bash_login
    export FPATH=/local/shellfunc/bash:/local/shellfunc/bash+ksh
    PATH+=":$FPATH"
    source ~/.bashrc
    In der Datei .bashrc, die nur bei interaktiven Shells ausgeführt wird, werden der Einfachheit halber alle Funktionen geladen:
    loadfunc -a
    Da bash diese Datei bei Loginshells nicht automatisch ausführt, steht in der .bash_login der Aufruf source ~/.bashrc. Die Datei .bashrc enthält auch alle weiteren für Dialog-Shells relevante Besetzungen (Shell-Optionen, Prompstrings etc.).
Bei der bash ist es im Gegensatz zur ksh auch möglich, Funktionen für Scripte vorzudefinieren (obwohl das, wie gesagt, nicht empfohlen wird). Dazu besetzt man in ~/.bash_login die Variable BASH_ENV mit dem Namen der Datei, in der die entsprechenden Definitionen stehen, und exportiert sie. Die bash führt dann bei jedem Start eines Scripts das Kommando source $BASH_ENV aus.
up
Created 2011-08-11 by mopcoge