Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 mini shell 中实现 pwd 内置。
如何在不使用环境变量“PWD”的情况下获得相对路径
(getenv("PWD"))
例子:
CWD = /tmp getcwd("/tmp", buff, size)
返回绝对位置 =>/private/tmp.
/private/tmp.
我怎样才能"/tmp"打印出来?
"/tmp"
你不能这样做。
当 shell 初始化时,它将当前工作目录存储到 shell 的局部变量中。Shell 在初始化期间从getcwd()(如果未设置环境变量“PWD”) 和getenv("PWD")(如果设置了“PWD”)获取 cwd 。
示例:您在 /tmp (PWD=/tmp) (tmp = 符号链接)
案例一
zsh 密码
zsh
密码
结果:/tmp
案例二
环境 -i zsh 密码
环境 -i zsh
结果:/private/tmp