0

我在 mini shell 中实现 pwd 内置。

如何在不使用环境变量“PWD”的情况下获得相对路径

(getenv("PWD"))

例子:

CWD = /tmp

getcwd("/tmp", buff, size)

返回绝对位置 =>/private/tmp.

我怎样才能"/tmp"打印出来?

4

1 回答 1

0

你不能这样做。

当 shell 初始化时,它将当前工作目录存储到 shell 的局部变量中。Shell 在初始化期间从getcwd()(如果未设置环境变量“PWD”)getenv("PWD")(如果设置了“PWD”)获取 cwd 。

示例:您在 /tmp (PWD=/tmp) (tmp = 符号链接)

案例一

zsh

密码

结果:/tmp

案例二

环境 -i zsh

密码

结果:/private/tmp

于 2020-04-30T19:57:02.297 回答