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?
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?
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.
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?
@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
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.
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!