热释光;博士
使用
CURDIR
首先,谢谢
Renaud Pacalet
对于
his comment
库尔迪尔
GNU Make Manual
:
库尔迪尔
为了方便起见,当GNU make启动时(在处理了任何-C选项之后),它将变量CURDIR设置为当前工作目录的路径名。make不会再触及这个值:特别注意,如果包含来自其他目录的文件,CURDIR的值不会更改。如果在makefile中设置该值,则该值具有相同的优先级(默认情况下,环境变量CURDIR不会覆盖该值)。请注意,设置此变量对make的操作没有影响(例如,它不会导致make更改其工作目录)。
PWD
没有提到
密码
env | grep PWD
发现它是由环境设置的(在我的例子中是zsh)。GNU关于
Special Shell Variables
密码
posix1003.1-2001要求cd和pwd必须更新pwd环境变量以指向当前目录的逻辑名称,但传统shell不支持这一点。如果一个shell实例维护PWD,而另一个子shell和不同的shell不知道PWD并执行cd,则会导致混淆;在这种情况下,PWD指向错误的目录。使用``pwd
' rather than
自
库尔迪尔
保证在
Make
密码
可以
继承自贝壳,应首选前者。