Ich weiß nicht, wann dies passiert ist, aber jetzt wird jedes Mal, wenn ich in ein Verzeichnis cd, der Pfad wiedergegeben, bevor die Verzeichnisse geändert werden. Dies geschieht, wenn ich mich bei einem Server anmelde, aber nicht auf meinem lokalen Computer. Auf dem Server wird Linux ausgeführt. Auf meinem lokalen Computer wird Mac OS X ausgeführt.
Ich suchte bei Google und schaute auf die Bash-Manpage, konnte aber nichts finden. Mein .bashrc / .bash_profile hat nichts mit 'cd' zu tun (von dem ich weiß).
Wie ändere ich diese "Funktion"?
$(cd directory && pwd)
ausgedruckt/path/to/directory /path/to/directory
.Die obige Antwort, die darauf hindeutet, CDPATH zu deaktivieren, ist wahrscheinlich die beste. Wenn Sie jedoch möchten, dass CDPATH während des Betriebs aktiv bleibt
cd
, können Sie in Ihren Skripten auch Folgendes verwenden:cd /path/to/wherever > /dev/null
quelle
Eine andere Möglichkeit besteht darin, das eingebaute Element
cd
mit einer Bash-Funktion dauerhafter zu überschreiben . Ich habe festgestellt, dass so etwas effektiv ist, wenn es in Ihrer~/.profile
(oder einer ähnlichen) Datei abgelegt wird:cd
ohne Argumente erhalten , um zu Ihrem Home-Verzeichnis zurückzukehren.>/dev/null
ist für das Verschlucken des wiedergegebenen Ordnernamens verantwortlich. (Durch das Echo des Ordnernamens werden Skripte unterbrochen,FOO=$(cd $SOMEVAR && pwd)
mit denen ein vollständiger Pfad zu einer Variablen gespeichert wird.)ls
nach dem Wechseln der Verzeichnisse eine automatische Ausführung durch. (Entfernen Sie das&& ls
, um das zu stoppen.)quelle