Mogens Kjaer wrote:
>
> Hm, min man side til cd (som giver man siden til bash) er på
> 1394 linier, og indeholder faktisk ikke nogetsomhelst om "cd .."
Logisk nok. cd er af gode grunde nødt til at være en intern
kommando i shellen. En ekstern cd kommando giver bare ingen
mening. Og derfor må det også være shellens dokumentation,
der beskriver det. Her er hvad man bash har at sige om cd
kommandoen:
cd [-L|-P] [dir]
Change the current directory to dir. The variable HOME is the
default dir. The variable CDPATH defines the search path for
the directory containing dir. Alternative directory names in
CDPATH are separated by a colon (:). A null directory name in
CDPATH is the same as the current directory, i.e., ''.''. If
dir begins with a slash (/), then CDPATH is not used. The -P
option says to use the physical directory structure instead of
following symbolic links (see also the -P option to the set
builtin command); the -L option forces symbolic links to be
followed. An argument of - is equivalent to $OLDPWD. If a
non-empty directory name from CDPATH is used, or if - is the
first argument, and the directory change is successful, the
absolute pathname of the new working directory is written to
the standard output. The return value is true if the directory
was successfully changed; false otherwise.
At den ikke nævner "cd .." skyldes nok, at .. faktisk ikke
er en feature i shellen, men derimod en feature i pathname
opslagskoden i kernen. At bash udviklerne så har valgt at
implementere deres egen håndtering af .. giver af og til
nogle ret mærkelige resultater. Faktisk vil "cd ." under
nogen omstændigheder udføre en chdir("..
").
--
Kasper Dupont