Służy przede wszystkim do upewnienia się, że skrzynka narzędzi POSIX jest dostępna zarówno wewnątrz, jak i na zewnątrz powłoki (patrz uzasadnienie POSIX, aby je wymagać ).
Bo cd
to nie jest niezwykle przydatne, ale należy pamiętać, że cd
zmienia katalogi, ale ma inne skutki uboczne: zwraca status wyjścia, który pomaga ustalić, czy możesz przejść chdir()
do tego katalogu, czy nie, i wyświetla przydatny komunikat o błędzie wyjaśniający, dlaczego nie możesz chdir()
kiedy nie możesz.
Przykład:
dirs_i_am_able_to_cd_into=$(find . -type d -exec cd {} \; -print)
Innym potencjalnym efektem ubocznym jest automatyczne montowanie katalogu.
W kilku systemach większość zewnętrznych poleceń dla standardowych wbudowanych powłok jest zaimplementowana jako dowiązanie symboliczne do tego samego skryptu, który:
#! /bin/sh -
"${0##*/}" "$@"
To jest uruchom powłokę i uruchom wbudowane w nią.
Niektóre inne systemy (takie jak GNU) mają narzędzia jako prawdziwe polecenia, które mogą prowadzić do nieporozumień, gdy zachowanie różni się od wbudowanej wersji powłoki.
/usr/bin/cd
, tylko wbudowaną powłokę.