GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Der Sinn des externen Befehls „cd“?

Wie in dieser feinen Antwort erwähnt, haben POSIX-Systeme ein externes binäres cd zusätzlich zu der eingebauten Shell. Unter OS X 10.8 ist es /usr/bin/cd . Sie können es nicht wie das eingebaute cd verwenden da es sofort beendet wird, nachdem es sein eigenes Arbeitsverzeichnis geändert hat. Welchem ​​Zweck dient es?

Akzeptierte Antwort:

Es dient in erster Linie dazu, sicherzustellen, dass die POSIX-Werkzeugkiste sowohl innerhalb als auch außerhalb einer Shell verfügbar ist (siehe die POSIX-Begründung für deren Anforderung).

Für cd , das ist nicht sehr nützlich, aber beachten Sie, dass cd ändert Verzeichnisse, hat aber andere Nebenwirkungen:Es gibt einen Exit-Status zurück, der hilft festzustellen, ob Sie in der Lage sind chdir() in dieses Verzeichnis oder nicht, und gibt eine nützliche Fehlermeldung aus, die erklärt, warum Sie chdir() nicht ausführen können wenn du es nicht kannst.

Beispiel:

dirs_i_am_able_to_cd_into=$(find . -type d -exec cd {} ; -print)

Ein weiterer möglicher Nebeneffekt ist das automatische Einhängen eines Verzeichnisses.

Auf einigen wenigen Systemen sind die meisten externen Befehle für die eingebauten Standard-Shells als symbolischer Link zu demselben Skript implementiert, das dies tut:

#! /bin/sh -
"${0##*/}" "[email protected]"

Das heißt, starte eine Shell und führe das eingebaute darin aus.

Einige andere Systeme (wie GNU) haben Dienstprogramme als echte ausführbare Befehle, was zu Verwirrung führen kann, wenn das Verhalten von der Shell-integrierten Version abweicht.


Linux
  1. Meistern Sie den Linux-ls-Befehl

  2. Befehlszeilenaliase in der Linux-Shell

  3. Anpassen der Bash-Shell

  4. Eine Einführung in den diff-Befehl

  5. Wie weist man die Ausgabe eines Befehls einer Shell-Variablen zu?

Quellbefehl unter Linux

Was ist die Shell unter Linux?

Der Timer-Befehl in Linux

Kommando-Shell

Wie erhalte ich die externe IP-Adresse in einem Shell-Skript?

Bash fc-Befehl:Verwenden Sie die Bash-Shell ganz einfach wie ein Profi