Donc Wikipédia ( lien ) me dit que la commande pwd
est l'abréviation de "imprimer le répertoire de travail", et cela a du sens.
Mais pour la variable d'environnement, le "P" doit être un acronyme pour autre chose que print.
J'entends des gens parler de "répertoire de travail actuel", qui sonne mieux et est plus intuitif, mais la variable d'environnement semble toujours s'appeler $ PWD, et non $ CWD. Personne n'a jamais dit "Avez-vous vérifié la variable du répertoire de travail d'impression?".
Je joue actuellement avec le serveur d'applications Web uWSGI, et lors de son exécution, il me dit (sur la page de statistiques uWSGI):
"cwd":"/home/velle/greendrinks",
ils évidemment comme le (acronyme plus intuitive) cwd
sur pwd
.
Je suppose que j'essaie de comprendre si j'ai mal compris quelque chose, ou s'il s'agit simplement d'avoir donné à la variable d'environnement un nom non intuitif?
la source
$PWD
est équivalent à`pwd`
, et c'était une justification suffisante.Réponses:
Cela dépend de ce que vous faites. Tout d'abord,
$PWD
est une variable d'environnement etpwd
est un shell intégré ou un binaire réel:Maintenant, la commande bash affichera simplement la valeur actuelle de
$PWD
sauf si vous utilisez l'-P
indicateur. Comme expliqué danshelp pwd
:Le
pwd
binaire, d'autre part, obtient le répertoire en cours via l'getcwd(3)
appel système qui renvoie la même valeur quereadlink -f /proc/self/cwd
. Pour illustrer cela, essayez de vous déplacer dans un répertoire qui est un lien vers un autre:Donc, en conclusion, sur les systèmes GNU (tels que Ubuntu),
pwd
etecho $PWD
sont équivalents sauf si vous utilisez l'-P
option, mais ils/bin/pwd
sont différents et se comportent commepwd -P
.Source /ubuntu//a/476633/291937
la source
PWD
d'être une variable d'environnement. C'est en fait le cas par défaut avec la plupart sinon tous les shells et cela a du sens de le fournir aux processus enfants.$PWD
etpwd
(qui ont déjà été couvertes sur U&L avant je crois), mais sur les raisons qui ont conduit à nommer la variable "PWD
".ksh88
quel document il est le suivant:PWD The present working directory set by the cd command.
Vous devez l'ajouter à votre réponse.$ PWD est le P athname du courant W ravailler D irectory
Lorsqu'il y a des liens symboliques, les résultats peuvent différer de la lecture de $ PWD à l'exécution de la commande pwd .
la source
$PWD
etpwd
?