bash - 在 Bash 中,cd ./someDir 和 cd someDir 之间有什么实际区别吗?

标签 bash cd

在终端中,输入 cd ./someDircd 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/

相关文章:

linux - 如何在Windows 10的Linux子系统中启动jupyter笔记本?

linux - 从 cvs 中删除具有特定模式的文件

bash - 调整图片大小的shell脚本

linux - 在shell中递归地将文件内容添加到文件中

arrays - 在 Bash 中从文本文件创建数组

node.js - Node - 防止子进程进入父目录

azure - Azure PowerShell 中的 CD 失败

bash - cd wslpath as bash function shell 引用问题

bash - 可以CD成文件吗?

linux - bash - 如何将结果从 which 命令传送到 cd