Alias beim Start definieren

Dieses Thema im Forum "Arch Linux" wurde erstellt von Spot, 21.12.2008.

  1. Spot

    Spot Waldgänger

    Dabei seit:
    15.03.2007
    Beiträge:
    113
    Zustimmungen:
    0
    Hallo !

    Ich möchte ein Alias beim start definieren.

    Diese habe ich dann in die .bashrc des Benutzers geschrieben:

    Meine Oberfläche starte ich mit "startx".
    Deshalb hab ich in der .xinitrc folgendes eingefügt:

    Doch leider funktioniert das nicht :(
    Wenn ich nach dem Start von Fluxbox in der Konsole "cl" eintippe, kommt ein "command not found".
    Gebe ich dann aber:

    Code:
    source .bashrc
    ein und tippe anschließend "cl" ein, führt er korrekterweise "clear" aus.

    Wo liegt mein Fehler ? :(
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 bytepool, 21.12.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    in der .xinitrc hat das nichts zu suchen. Dein Problem duerfte sein, dass die .bashrc nicht in der .bash_profile gesourced wird. Schau dich einfach mal nach dem Prinzip der config Dateien der Bash um. Die .bashrc wird fuer Nicht-Login Shells benutzt, die .bash_profile wird fuer Login Shells benutzt, d.h. in aller Regel willst du die .bashrc in der .bash_profile sourcen.

    mfg,
    bytepool
     
  4. defcon

    defcon Kaiser
    Moderator

    Dabei seit:
    22.08.2005
    Beiträge:
    1.486
    Zustimmungen:
    1
    Ort:
    Bruchsal
    Was willst du da mit source .bashrc?
    Das tut nur lediglich die .bashrc neu einlesen, falls man kein Bock hat sich auszuloggen und wieder anzumelden.
    Mit anderen Worten, wenn du startx ausführst, wird nur die .bashrc neu eingelesen, aber dein 'cl' wird nicht ausgeführt.
     
  5. #4 bytepool, 21.12.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    @defcon
    Nein, der TE war schon auf der richtigen Spur, siehe mein Post vor dir. ;)

    mfg,
    bytepool
     
  6. Spot

    Spot Waldgänger

    Dabei seit:
    15.03.2007
    Beiträge:
    113
    Zustimmungen:
    0
    Thx @ bytepool - es geht !

    Hab in der .xinitrc jetzt die source-Zeile gelöscht und in meinem Home Verzeichnis eine .bash_profile (existierte vorher nicht) erstellt.

    In die .bash_profile hab ich folgendes geschrieben:

    Nun funktionieren die definierten Alias direkt nach dem Start :)
     
  7. #6 bytepool, 21.12.2008
    bytepool

    bytepool Code Monkey

    Dabei seit:
    12.07.2003
    Beiträge:
    791
    Zustimmungen:
    0
    Ort:
    /home/sweden/göteborg
    Hi,

    ja, die meisten Distributionen machen diesen Schritt direkt fuer dich, aber bei einer Distri wie Arch, bei der alles erstmal mehr oder weniger im Grundzustand ausgeliefert wird, muss man doch noch Hand anlegen. ;)

    Aber Shells und ihre Konfigurationsdateien sind ja sowieso ein Thema fuer sich, ich glaube die Bash hat 4 oder 5 verschiedene standard Dateien, die in bestimmer Reihenfolge und manche nur zu bestimmten Zeiten geladen werden. Ich habe da auch erst richtig durchgeblickt, nachdem ich ein Buch zur Bash und Z-Shell durchgearbeitet hatte.

    mfg,
    bytepool
     
  8. #7 Spot, 21.12.2008
    Zuletzt bearbeitet: 21.12.2008
    Spot

    Spot Waldgänger

    Dabei seit:
    15.03.2007
    Beiträge:
    113
    Zustimmungen:
    0
    Naja so tief will ich dan nun auch wieder nicht ins System eindringen ;)

    So wie es jetzt läuft ist super :D
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Hallo - irgendwie scheinen Teile des Alias-Befehls irgnoriert tu werden wenn sie "$" Zeichen enthalten :(

    Kleines Beispiel:

    Code:
    [joschi@joschi ~]$ alias hgm='scrot '%d.%m.%Y-%H.%M-[B]$wx$h[/B].jpg''
    Und das hat er dann wirklich gespeichert:

    Code:
    [joschi@joschi ~]$ alias hgm
    alias hgm='scrot %d.%m.%Y-%H.%M-.jpg'
    Warum werden die $-Spezifikatoren (scrot-Intern) nicht vom alias Befehl gespeichert ?

    Wenn ich den Befehl direkt in der Bash ausführe, geht es ohne Probleme...

    Code:
    [joschi@joschi ~]$ scrot '%d.%m.%Y-%H.%M-$wx$h.jpg' && ls -l *.jpg
    -rw-r--r-- 1 joschi users 275026 21. Dez 20:30 21.12.2008-20.30-1680x1050.jpg
    Was mach ich falsch ?
     
  9. #8 Gott_in_schwarz, 21.12.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Das Dollarzeichen ist ein Metazeichen in der bash. Das musst du mitm backslash escapen.
    Schau dir das btw mal genau an, das alias ist ein anderes als der Befehl, den du ausführst...



    @bash files: so ziemlich am Ende von "man bash" stehen auch Infos zu den config-files:
    Code:
    FILES
           /bin/bash
                  The bash executable
           /etc/profile
                  The systemwide initialization file, executed for login shells
           /etc/bash.bashrc
                  The systemwide per-interactive-shell startup file
           /etc/bash.logout
                  The systemwide login shell cleanup file, executed when a login shell exits
           ~/.bash_profile
                  The personal initialization file, executed for login shells
           ~/.bashrc
                  The individual per-interactive-shell startup file
           ~/.bash_logout
                  The individual login shell cleanup file, executed when a login shell exits
           ~/.inputrc
                  Individual readline initialization file
    
     
  10. Spot

    Spot Waldgänger

    Dabei seit:
    15.03.2007
    Beiträge:
    113
    Zustimmungen:
    0
    Das ist ja das blöde daran das der Alias ein andere Befehl ist als der den ich ausführe..... eben weil der Alias nicht richtig gespeichert wird.

    Mit den \ davor klappt das auch nicht so richtig, denn dann werden die $-Spezifikationen an sich gespeichet. Das soll eben nicht so sein !
    Bei scrot steht ja dann z.b. $w für die breite des Bildes, die dann im Dateinamen gespeichert werden soll.....

    So sieht es mit den \ aus:

    Code:
    [joschi@joschi ~]$ scrot '%d.%m.%Y-%H.%M-\$wx\$h.jpg' && ls -l *jpg
    -rw-r--r-- 1 joschi users 201659 21. Dez 21:22 21.12.2008-21.22-$wx$h.jpg
     
  11. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  12. #10 Gott_in_schwarz, 21.12.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Hm, wie kommst du auf die unfassbar kreative Idee den funktionierenden Befehl zu verändern, anstatt die Änderungen mal beim nicht funktionierenden Alias auszuprobieren? o0

    Aber ich bin mal weg, ist ja alles gesagt. Dollarzeichen müssen escapet werden, das alias ist anders als der von dir ausgeführte Befehl. Man möge genauer hinschauen.
     
  13. Spot

    Spot Waldgänger

    Dabei seit:
    15.03.2007
    Beiträge:
    113
    Zustimmungen:
    0
    Weiß ich auch nicht - entsprang wohl irgendeiner dunklen Ecke meine kopfes .... :brav:

    So geht es auf jeden Fall: :)

    Code:
    alias hgm="scrot '%d.%m.%Y_%H%M-\$wx\$h.jpg'" 
     
Thema:

Alias beim Start definieren

Die Seite wird geladen...

Alias beim Start definieren - Ähnliche Themen

  1. alias in if statement beim ersten Mal nicht erkannt

    alias in if statement beim ersten Mal nicht erkannt: Hallo, ich möchte einige Bash-Befehle in einer Zeile ausführen: if ! which bla ; then alias bla='ls' ; echo hi ; fi ; alias ; bla...
  2. Alias nach Ab- und Neuanmeldung futsch

    Alias nach Ab- und Neuanmeldung futsch: Ich habe in der .profile einen "alias" hinterlegt (alias='ordnera/ordnerb/ordnerc'). Wenn ich ab- und wieder anmelde, ist der "alias"...
  3. E-Mail Empfang, Aliases unter Debian Squeeze

    E-Mail Empfang, Aliases unter Debian Squeeze: Liebe Community, Da ich bereits schon einmal Hilfe mit einem Problem lösen konnte hoffe ich nun auch dieses Problem mit euch lösen zu können....
  4. aliase erstellen

    aliase erstellen: Hallo zusammen, ich bin neu in der Unix/Linux Welt und befasse mich auch seit einiger Zeit damit. Ich möchte nun eine kleine Aufgabe...
  5. apache2 mod_proxy_balancer und eine Alias-Direktive

    apache2 mod_proxy_balancer und eine Alias-Direktive: Hi Leute, ich habe da ein Problem, mit der oben genannten Kombi. Welche Intention steckt dahinter: Also mein Server dient als LoadBalancer für...