Anzeige:
Ergebnis 1 bis 1 von 1

Thema: Wie passe ich die Bash an meine Bedürfnisse an?

  1. #1
    Registrierter Benutzer
    Registriert seit
    May 2006
    Beiträge
    321

    Wie passe ich die Bash an meine Bedürfnisse an?

    Wie passe ich die Bash an meine Bedürfnisse an?
    --- ein HOW-TO für Anfänger ---

    Inhalt:
    1) Sudo Einrichten
    2) Message of the Day
    3) Alias
    3.1) Alias dauerhaft
    3.2) Komplexere Alias
    3.3) Bsp: bc
    4) Komplexere Begrüßungen
    5) Eingabeaufforderung
    A) Anmerkungen


    ### Sudo Einrichten ###
    Mit Sudo lässt sich ein einziges Kommando unter root-Rechten ausführen. Bei Ubuntu Linux ist sudo bereits fertig eingerichtet und der Umgang damit völlig selbstverständlich - andere Distributionen sind da noch nicht so weit. Im folgendem wird die Konfiguration von sudo beschrieben. Die folgenden Kommandos müssen mit Root-Rechten ausgeführt werden.
    Mit dem folgendem bezeichnen Sie einen Benutzer als vertrauenswürdig:
    Code:
       usermod -aG wheel 
    Dabei müssen Sie durch ihren normalen Benutzer-Namen ersetzten (nicht "root"!). Als nächstes muss die Datei /etc/sudoers geändert werden und zwar zwingend mit dem Kommando visudo! Darin finden Sie die folgende Zeilen:
    Code:
       # Uncomment to allow people in group wheel to run all commands
       #%wheel  ALL=(ALL)       ALL
    Entfernen Sie die Raute ('#') am Anfang der zweiten Zeile und speichern Sie die Datei. Danach können alle Benutzer, welche als vertrauenswürdig eingestuft sind, mit sudo Befehle ausführen. Dabei fragt sudo nach einen Passwort - hier ist das Benutzer- und nicht das Root-Passwort gemeint! Damit wird sichergestellt, dass auch wirklich der angemeldete Benutzer vor dem PC sitzt. Benutzt man sudo kurz hintereinander, so verzichtet er auf die Passwort-Abfrage.
    Beispiel zur Verwendung von sudo:
    Code:
       sudo mkdir /mnt/test
    Mehr Infos:
    http://fedorablog.de/archives/186-Si...-mit-sudo.html


    ### Message of the Day ###
    Bei manchen Distributionen wird, wenn man sich auf der Konsole anmeldet, ein Begrüßungstext angezeigt. Dies lässt mit MOTD (Mesage of the day) erreichen. Der Text welcher ausgegeben werden soll, wird in die Datei /etc/motd geschrieben. Mit /etc/issue lässt sich des weiteren in Text noch vor dem Login anzeigen.

    Mehr Infos:
    man motd
    man issue


    ### Alias ###
    Mit dem Programm alias kann man einem Programm einen alternativen Namen zum Aufrufen können. So lassen sich auch neue Befehle bauen. Bsp:
    alias lsl='ls -l'
    Nach diesem Befehl, existiert ein Befehl mit dem Namen lsl, welcher gleich wie ls verwendet werden kann, jedoch immer die ausführliche Liste (-l) anzeigt. Es ist auch ohne weiteres Möglich Befehle zu "überschreiben" - man kann im obigen also auch stadt lsl einfach nur ls aus Name verwenden, in diesem Fall verwendet ls das immer die Option -l. Den ursprünglichen Befehl kann man dann mit \ls aufrufen.

    == Alias dauerhaft ==
    Wenn Sie einen alias wie oben gezeigt definieren, so gilt dies nur für für diese Konsolen-Instanz - nach öffnen einer neue Konsole existiert der Befehl bereits nicht mehr. Um einen alias dauerhaft zu machen, muss man es in einer der folgenden Dateien schreiben:
    • /etc/profile
    • /etc/bashrc oder¹ /etc/bash.bashrc
    • ~/.bashrc
    • ~/.bash_profile

    Die beiden Dateien im Ordner /etc/ gelten Systemweit - die beiden anderen nur für den aktuellen Benutzer. Es ist Usus die Aliase in die Datei 'bashrc' zu schreiben. Die Dateien werden im der Reihenfolge wie oben ausgeführt.

    ¹ Je nach dem welchen Distribution verwendet wird.

    == Komplexere Alias ==
    Wollen Sie einen komplexeren Befehl - aus mehr als nur einem Befehl - zusammen setzen, so ist alias nicht mehr ausreichend. Entweder Sie schreiben sich dann ein Script und speichern dies in einem Ordner welcher in der Pfad-Variable enthalten sind, oder sie schreiben eine Funktion in eine der obigen vier Dateien. Funktionen haben in der Bash die folgende Syntax:
    Code:
       funktions_name()
    	{
    	#hier den Code einfügen
    	}
    Die Parameter, welche der Funktion übergeben wurden, sind in der Funktion als $1, $2, $3, $@... verfügbar. Mehr Information dazu finden Sie in den vielen Tutorials zum Thema Scripts.

    == Bsp: bc ==
    Der Konsolen-Taschenrechner bc ist ein sehr Praktisches Werkzeug. Leider ist das Standardverhalten jedoch für die meisten Zwecke nicht zu gebrauchen:
    1) Beim Start erscheint ein Hinweis zu Lizenz & Copyright der Tools. Abschalten lässt sich diese nervige Hinweis mit der Option -q.
    2) Standardmäßig lädt bc die "Mathe-Bibliothek" nicht, und kann somit nicht einmal Dezimalzahlen berechnen. Umstellen lässt sich die mit der Otion -q
    3) Wenn in einer Berechnung eine Dezimalzahl (Bsp: 1/3) herrauskommt, so zeigt bc normalerweise 16 Nachkommastellen. Reduzieren lässt sich das indem man nach dem Starten von bc "scale = x" eingibt.
    Um alle drei Verhalten umzustellen, legen sie eine beliebige Datei an, in welche Sie den Scale-Befehl schreiben und definieren Sie folgendes Alias:
    Code:
       alias bc='bc -lq .bc_starter'

    ## Komplexere Begrüßungen ##
    MOTD ist zwar ganz nett, leider unterstützt es nur reine Text und keine Bash-Kommandos. Um den Benutzer beispielsweise mit seinem Account-Namen, oder einer der Uhrzeit angepassten Begrüßung zu empfangen hilft ihnen motd nichts. Auch erscheint die Nachricht von motd nur auf der "echten" Konsole, nicht in den Konsolen Emulatoren der Grafischen Umgebungen. All dies und noch mehr ist möglich, wenn sie die Nachricht mit echo in einer der vier obigen Dateien ausgeben lassen. Ein bsp welches sie in die /etc/bashrc schreiben könnten ist:
    Code:
       if [ "$USER" = "root" ]
         echo "Ich bin Root - ich darf das!"
       else
         echo -e "Hallo, ${USER}\nAngenehmenes arbeiten!"
        fi

    ### Eingabeaufforderung ###
    Haben Sie sich schon einmal gewundert warum unter den verschiedenen Distributionen der Text in der Konsole - hinter dem Sie ihre Befehle schreiben - unterschiedlich aussieht? Ganz einfach: weil er nach belieben veränderbar ist. Das Format für diesen Text lässt sich mit der System-Variable PS1 einstellen. Daneben gibt es noch die sekundäre Promt, er erscheint, wenn eine Eingabe nicht abgeschlossen ist - Sie kann mit PS2 gesetzt werden. Neben belibigen normalen Zeichen, können Sie auch folgende Sonderzeichen verwendet werden:
    • Sonderzeichen - Bedeutung
    • \t - Zeit
    • \d - Datum
    • \n - neue Zeile
    • \s - Name der Shell
    • \w - Pfad ohne Verzeichnis
    • \W - Pfad mit Verzeichnis
    • \u - Benutzername
    • \h - Hostname
    • \# - fortlaufende Nummer
    • \$ - Das $-Zeichen
    • \\ - Das \-Zeichen


    Beispiele:
    Code:
       michi@locale:~$ PS1="[\t|\w]:"
       [00:31:05|~]: PS1="\#>"
       3> PS1="\u[\#]: "
       michi[14]:

    # Anmerkungen #
    Dieses HowTo ist noch nicht fertig, es wird - sobald ich Zeit habe - noch erweitert. Verbesserungs- & Erweiterungs-Vorschläge sind gerne gesehen.
    Dieses HOWTO steht unter CC-BY-SA


    .
    Geändert von michiS (23.09.07 um 10:12 Uhr)
    AMD Athlon 64 X2 3800+; 1024 MB; Fedora 8; Gnome 2.2018; gcc 4.1.2; yum 3.2.7

    Infos über Encodings
    Astronomie: Eine erklärung der wichtigsten Himmelskörper
    Spix, Radioaktivität und mehr

Ähnliche Themen

  1. Internet?
    Von Tuborg im Forum Anbindung an die Aussenwelt
    Antworten: 37
    Letzter Beitrag: 04.11.06, 19:43
  2. Cooles Tool für die *Konsoleros* ;)
    Von HangLoose im Forum Neue Programme/Versionen
    Antworten: 48
    Letzter Beitrag: 20.04.04, 17:44
  3. usb-festplatten
    Von w.freudenstein im Forum Linux Allgemein
    Antworten: 11
    Letzter Beitrag: 10.02.04, 19:27
  4. need help bei linux u. 3d
    Von mexx im Forum X-Konfiguration
    Antworten: 16
    Letzter Beitrag: 24.07.03, 20:30
  5. Probleme mit kwintv--Hilfeeeeeeee.....
    Von Hubidubi2001 im Forum Fernsehen
    Antworten: 10
    Letzter Beitrag: 20.05.02, 19:50

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •