在终端中,输入 cd ./someDir
和 cd someDir
获得相同的结果,即从当前目录更改为 someDir
子目录。
在什么情况下你会使用一个命令而不是另一个命令,或者这两个命令完全等价?
man cd
没有阐明这个问题,而且我无法轻松地在线找到文档。某处是否有相关文档?
我在 VSCode 上的 MacOS Catalina 中运行标准 shell,$SHELL --version
报告 GNU bash,版本 3.2.57(1)-release (x86_64-apple-darwin19 )
这是我的第一个问题,我愿意接受有关如何改进它的任何反馈。谢谢。
编辑:这与我得到的特定用例无关,我只是想知道这些命令之间是否存在任何实际差异。
它最近出现在一个 PR 中,我看到使用了 cd ./
,我问他们为什么使用它而不是 cd
本身。他们知道前者“确保它被限制在当前目录中”,但无法进一步解释。
从表面上看,这两个命令是相同的,但在 Bash 中,细微的差异会导致不同的行为,我想知道这里是否是这种情况。通常我会单独使用 cd
。我理解 。
是对当前目录的引用。
最佳答案
如果设置了 $CDPATH
,这两个命令的行为会有所不同。
cd ./dir
更改为 ./dir
没有别的,但是
cd dir
如果 some/path
在 $CDPATH
中,可能会更改为 some/path/dir
。
关于bash - 在 Bash 中,cd ./someDir 和 cd someDir 之间有什么实际区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69102485/