1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Alias in .profile

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von rcsapo, 31.07.06.

  1. rcsapo

    rcsapo Fießers Erstling

    Dabei seit:
    06.11.05
    Beiträge:
    127
    Liebe Macsperten,

    ich habe mit pico -w im Home-Verzeichnis das File .profile angelegt, um dort einige Aliases für das Terminal dauerhaft abzulegen.

    Interessanterweise funktionieren die Aliases dann aber nur teilweise. So bekomme ich beim ls-Befehl nun schon alle Daten angezeigt und bei rm fragt bash nach, ob ich mir wirklich sicher bin, bei copy-Befehlen hingegen ignoriert die Shell meine Änderung.

    Was hab ich falsch gemacht?
     

    Anhänge:

  2. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Aliase sollten nicht rekursiv sein... ;)

    Also besser
    Code:
    alias ll='ls -l'
    oder ähnliche Konstrukte.
     
  3. rcsapo

    rcsapo Fießers Erstling

    Dabei seit:
    06.11.05
    Beiträge:
    127
    Danke für den Hinweis. Würde es jetzt aber mein cp-Alias-Problem lösen, wenn ich in .profile anstelle von

    Code:
    alias cp="cp i"
    alias ci="cp -i"
    setzen würde?
     
  4. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Ex-akt. :-D

    Edit: Es sei denn, Du benutzt auch CVSRCS. Da gibt es das Kommando 'ci' anscheinend bereits. Dieses würde durch das Alias wahrscheinlich überschrieben.
     
    #4 quarx, 31.07.06
    Zuletzt bearbeitet: 31.07.06
  5. rcsapo

    rcsapo Fießers Erstling

    Dabei seit:
    06.11.05
    Beiträge:
    127
    Gut habe zwar leider keine Ahnung was CVS sind, jedoch mein Alias sowohl auf cpi als auch ci umgetauft, womit zwar immer brav kopiert wird, mir jedoch keine Nachfrage angezeigt wird. Wieso geht das bei rm sofort und hier nicht?
     
  6. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    'cp -i' fragt nur beim Überschreiben, also nicht immer.
     
  7. pepi

    pepi Cellini

    Dabei seit:
    03.09.05
    Beiträge:
    8.741
    @quarx
    Ein Alias überschreibt zum Glück nix. Allerdings werden aliase vor der Suche im PATH berücksichtigt. Auch wird ein alias keine Rekursion erwirken wenn man ls auf "ls --wasauchimmer" aliased.

    Ich unterstütze allerdings den Vorschlag im gegebenen Fall, ll als Alias zu verwenden.

    Man sollte in den meisten Fällen ein Command nicht direkt aliasen sondern einen anderen Namen verwenden um Konflikte mit anderen Programmen oder Skripten zu vermeiden die mit bestimmter Funktionalität nicht rechnen.


    Das command /usr/bin/ci(1) gibt es allerdings tatsächlich schon (check in RCS revisions) Ist also noch RCS und nichtmal CVS.

    Auszug aus man 1 cp:
    Code:
         -i    Cause cp to write a prompt to the standard error output before
               copying a file that would overwrite an existing file.  If the
               response from the standard input begins with the character `y' or
               `Y', the file copy is attempted.  (The -i option overrides any pre-
               vious -f or -n options.)
    
    Demnach fragt cp -i nur nach wenn es eine Datei überschreiben müßte. rcsapo, war das im bei Dir der Fall?




    Tip zur bash Initialisierung:
    Es ist heutzutage besser die bash initialisierung als ~/.bash_profile anzulegen, als als .profile. Dann hat man auch weniger quirks mit der ~/.bashrc.

    Genereller Tip zu Shell Skripten:
    Immer brav kommentieren warum man etwas dort hineingeschrieben hat und was es genau tut. Wenn Du das in 3 Monaten (oder 3 Tagen) wieder liest, fragst Du Dich recht wahrscheinlich warum das so ist.
    Jede Zeile die mit # beginnt wird als Kommentar gewertet.
    Gruß Pepi
     
  8. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
    Das mit der Reihenfolge beim PATH-Durchsuchen meinte ich auch so. Dass rekursive Aliase doch gehen, war mir nicht so klar. Könnte aber mindestens für Verwirrung sorgen. :eek:
     
  9. rcsapo

    rcsapo Fießers Erstling

    Dabei seit:
    06.11.05
    Beiträge:
    127
    Ja, "cp -i" alias "cp" fragt beim Überschreiben von Dateien nach, ob es wirklich soll. Damit passt eigentlich eh alles. Ich werde mich jedoch der Meinung der Experten beugen und auch auf einen alternativen Befehlsnamen ausweichen.

    Danke für die Hilfe (auch wenn ich zu meiner Schande gestehen muss, dass ich auch selbst im Manual hätte nachschauen können).

    Ihr seid super!
     

Diese Seite empfehlen