Moin zusammen, ich bastel immer noch an ein paar kleinen Scripten rum. Dabei hab ich mir inzwischen angewöhnt für Befehle immer den kompletten Pfad zu schreiben. Also "/bin/cp" anstatt nur "cp" zum Beispiel. Nun wollte ich ein "cd" ausführen lassen und hab danach gesucht. Etwas überrascht stellte ich fest, das cd offenbar gar nicht im Pfad liegt. -------- Einstein:~ # find / -name cd /usr/share/zsh/help/cd /usr/share/screen/utf8encodings/cd Einstein:~ # echo $PATH /sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin: /bin:/usr/games:/opt/bin:/opt/gnome2/bin:/opt/gnome/bin:/opt/kde3/bin: /opt/kde2/bin:/usr/lib/java/bin:/opt/gnome/bin -------- Also, vermutlich liegt mein Problem zwischen den Ohren. Entweder es ist noch zu früh am Morgen und ich hab einen prinzipiellen Denkfehler oder um cd gibt es noch ein Geheimnis das ich nicht kenne. Kann mich einer erleuchten? Thx, Bernd -- One OS to rule them all, one OS to find them. One OS to bring them all, and in the darkness bind them In the land of Redmond, where the shadows lie.
* On Wed, 09 Jul 2003 at 8:32 +0200, Bernd Tannenbaum wrote:
ich bastel immer noch an ein paar kleinen Scripten rum. Dabei hab ich mir inzwischen angewöhnt für Befehle immer den kompletten Pfad zu schreiben. Also "/bin/cp" anstatt nur "cp" zum Beispiel. Nun wollte ich ein "cd" ausführen lassen und hab danach gesucht.
Das Suchen erledigt am besten Deine Shell, die macht es ja sonst auch: | am@apfel:~$ type cd cp | cd is a shell builtin | cp is hashed (/bin/cp) | am@apfel:~$ which cd cp | /bin/cp /apm -- GPG welcome, request public key: mailto:adalbert+key@lopez.at
* Bernd Tannenbaum schrieb am 09.Jul.2003:
Moin zusammen,
ich bastel immer noch an ein paar kleinen Scripten rum. Dabei hab ich mir inzwischen angewöhnt für Befehle immer den kompletten Pfad zu schreiben. Also "/bin/cp" anstatt nur "cp" zum Beispiel. Nun wollte ich ein "cd" ausführen lassen und hab danach gesucht.
Etwas überrascht stellte ich fest, das cd offenbar gar nicht im Pfad liegt.
cd ist ein shellinterner Befehl. Es wäre mit einem Kommando auch gar nicht zu machen. Es gibt noch eine Reihe anderer shellinterner Befehle, wie shift oder exit, die wie cd gar nicht anders zu realisieren sind, und es gibt darüber hinaus noch eine Menge Befehle, wie test, echo und pwd, die es sowohl als externen Befehl, als auch als shell builtin geben. Das kann man sehen, wenn man type Befehl macht. type sagt, ob es ein shellbuiltin ist, odre ein Alias, eine Shellfunktion, ein Link oder eine Ausführbare Datei und gibt den Pfad dazu an. Mit type -a Befehl wird nicht nur die erste Möglichkeit genommen, sondern alle. type selber ist auch ein shellbuiltin. shellbuiltins sind natürlich schneller als externe Programme, daher sei vorsichtig, wenn Du den vollen Pfad angibst. Und Protabel wird das ganze dadurch auch nicht unbedingt. Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht widerstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9
participants (4)
-
Adalbert Michelic
-
B.Brodesser@t-online.de
-
Bernd Tannenbaum
-
Thomas Hertweck