gpt4 book ai didi

linux - unix 内置 `pwd` 命令和它的 $PWD 环境变量有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 11:06:10 24 4
gpt4 key购买 nike

情况是这样的。我有一个电话簿:-%/家/我的名字/

我在该目录中做了一个软链接(soft link):-%cd/home/我的名字/%ln -s/home/others/.

现在,我从/home/myname/cd 到 others/这是有趣的部分。

当我执行 unix 内置 pwd 命令时,我得到了原始路径名:-%/家/其他/

但是当我回显 $PWD 环境变量时,我得到了链接路径名:-%/家/我的名字/其他/

为什么会这样?

最佳答案

/var# ls -llrwxrwxrwx  1 root root   10 Aug 22 13:21 mail -> spool/maildrwxr-xr-x  2 root root 4096 Jul  1 20:58 optdrwxr-xr-x 22 root root 4096 Dec  5 17:38 rundrwxr-xr-x 12 root root 4096 Aug 22 13:21 spooldrwxrwxrwt 14 root root 4096 Dec  6 02:46 tmp/var# cd mail/var/mail# echo $PWD/var/mail/var/mail# pwd/var/mail/var/mail# /bin/pwd/var/spool/mail

换句话说,使用 $PWD 就足够了,因为 pwd 可能不会给你更好的结果(对于更好的任何定义)。

这是为什么? /bin/pwd 使用特定于操作系统的调用来确定当前工作目录 - 对于 Linux,内核仅保留已解析的目录(参见 /proc/self/cwd),而 shell 的密码包含 shell 认为它所在的内容。

关于linux - unix 内置 `pwd` 命令和它的 $PWD 环境变量有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4362643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com