Nach "cd .." "ls -l" ausführen

J

JCagney

www.fiege-crew.com
Hallo liebes Forum!
Wie bringe ich meine Shell (bash) dazu nach dem Befehl
"cd" mir ein "ls -l" immer standartmäßig auszugeben?

Ich danke Euch!

James
 
Hallo
Ob es sinnvoll ist, sei dahin gestellt.
Aber du kannst dir in der ~/.bashrc ein Alias definieren.
Code:
alias cd="cd $1; ls -lh $1"

Sinnvollerweise solltest du aber einen anderen Namen verwenden.
also besser:
Code:
alias CD="cd $1; ls -lh $1"

Gruß Wolfgang
PS Um es sofort zu aktivieren, mach ein
sources ~/.bashrc
 
Hallo Wolfgang,

Dein Vorschlag wechselt bei mir nicht in das gewünschte Verzeichnis. Ich vermute mal, dass es daran liegt, dass alias (bei mir?) kein builtin-Befehl ist und wahrscheinlich über Shell-Skript gelöst wird.

Gruss, Xanti
 
Hallo

Du kannst aber auch eine function nutzen.
Das sollte gehen.
Code:
function CD { cd $1; ls -l $1; }

#bash --version
GNU bash, version 3.00.16(1)-release (i386-pc-linux-gnu)
Copyright (C) 2004 Free Software Foundation, Inc.

Bei mir geht beides.

Gruß Wolfgang
PS Welche bash in welchem OS (Ist es FREEBSD, das kenn ich nicht ;) )hast du?
 
Zuletzt bearbeitet:
Ich sehe gerade, dass bei alias der Parameter $1 nicht von cd berücksichtigt wird, sprich er wechselt beim ersten Teil des Befehls (also bei "cd $1") immer ins Homeverzeichnis.

"function CD { cd $1; ls -l; }" funktioniert (das zweite $1 ist falsch).

Ich benutze FreeBSD 6.0.

Gruss, Xanti
 
Zuletzt bearbeitet:
Hallo

Das habe ich auch erst gedacht, und im alias dann aber doch $1 getestet.
Es funktioniert bei meiner shell auch mit $1 jenseits des /home/user.
"function CD { cd $1; ls -l; }" funktioniert (das zweite $1 ist falsch).
Nicht unbedingt falsch, aber überflüssig. ;)

Gruß Wolfgang
 

Ähnliche Themen

Verzeichnis mit 1200 Dateien auf Verweise in Textdateien checken

Falsche Ausgabe von $LINENO

Hilfe für ein shell script

batch script funktioniert nicht ...brauche hilfe

Skript soll nicht doppelt laufen... kill pkill pid cron

Zurück
Oben