Dies dient in erster Linie dazu, sicherzustellen, dass die POSIX-Werkzeugkiste sowohl innerhalb als auch außerhalb einer Shell verfügbar ist (Informationen dazu finden Sie im POSIX-Grundprinzip ).
Denn cd
, das ist nicht enorm nützlich , aber beachten Sie, dass cd
Verzeichnisse ändert aber auch andere Nebenwirkungen hat: es gibt einen Exit - Status , das bestimmen hilft , ob Sie in der Lage sind , chdir()
auf das Verzeichnis oder nicht, und gibt eine nützliche Fehlermeldung zu erklären , warum können Sie nicht chdir()
wenn du nicht kannst.
Beispiel:
dirs_i_am_able_to_cd_into=$(find . -type d -exec cd {} \; -print)
Ein weiterer möglicher Nebeneffekt ist die automatische Bereitstellung eines Verzeichnisses.
Auf einigen wenigen Systemen sind die meisten externen Befehle für die Standard-Shell-Buildins als Symlink zu demselben Skript implementiert, das Folgendes ausführt:
#! /bin/sh -
"${0##*/}" "$@"
Das heißt eine Shell starten und das eingebaute darin ausführen.
Einige andere Systeme (wie GNU) haben Dienstprogramme als echte ausführbare Befehle, die zu Verwirrungen führen können, wenn sich das Verhalten von der in der Shell eingebauten Version unterscheidet.
/usr/bin/cd
nur die integrierte Shell verfügen .