我们知道该cd命令用于更改目录。例如
cd dirname
Run Code Online (Sandbox Code Playgroud)
有效的目录名也包括.和..。目的cd ..很明确。从联机帮助页:
CDPATH 中的空目录名与当前目录相同,即“.”。
但是,这样做的目的是cd .什么?
我最近发现了这个功能shopt -s autocd:
autocd If set, a command name that is the name
of a directory is executed as if it were
the argument to the cd command. This op?
tion is only used by interactive shells.
Run Code Online (Sandbox Code Playgroud)
乍一看似乎很有帮助,但我不是 Bash 专家,我想知道使用它是否可能是错误的。
设置是否有任何潜在危险shopt -s autocd?我对脚本编写以及与其他应用程序或配置的冲突特别感兴趣。
假设我打开~/vim.txt,将其推到后台,然后推cd到另一条路径。当我将该工作置于前台时,是否可以选择切换回旧路径?我注意到它说pwd,所以我认为这是可能的。
我在桌面中有一个名为 Project 的目录。我尝试使用cd命令打开它,但它没有打开。什么原因?
检查屏幕截图。该目录具有所有必需的权限。
我也尝试使用 root 用户,但面临同样的问题。

我经常必须到cd一个目录并ls查看目录列表。可以一次性完成吗,以便我可以添加.bashrc为别名。我在谷歌上搜索,有一些答案,但不完整。
我有以下脚本:
#!/bin/sh
mkdir -p /tmp/test/foo
cd /tmp/test
unset CDPATH
echo "TEST1: Current working directory: ${PWD}"
echo "TEST1: attempting to 'cd foo'"
cd foo
echo "TEST1: Current working directory: ${PWD}"
cd /tmp/test
CDPATH=/tmp
echo "TEST2: Current working directory: ${PWD}"
echo "TEST2: attempting to 'cd foo'"
cd foo
echo "TEST2: Current working directory: ${PWD}"
Run Code Online (Sandbox Code Playgroud)
打印出来:
$ ./cdpath.sh
TEST1: Current working directory: /tmp/test
TEST1: attempting to 'cd foo'
TEST1: Current working directory: /tmp/test/foo
TEST2: Current working directory: /tmp/test
TEST2: attempting to 'cd foo' …Run Code Online (Sandbox Code Playgroud) 过去要切换到最近的目录,有一个-与cd -. 不知何故,别名在我的机器上消失了。这可能是由于我从oh-my-zsh存储库中提取的更新而发生的。
现在,我想将此别名添加到我自己的点文件中。我怎样才能做到这一点?
我有这个目录内容:
如您所见,目录名称只是时间戳 - 通常,当我是顶级目录时,我通常想打开最新的目录,该目录是具有最大时间戳值的目录,这意味着它应该排在最后(对吗?) .
有没有什么好方法可以快速cd到最后一个目录?我可以假设它们会由操作系统按时间戳排序吗?否则,这样做的肮脏方法是复制最大时间戳的值,然后运行“$ cd 1453775108178”。
我正在使用安装了 OS X 的 MacBook。
我在终端上试图转到一个目录。所以我在家里,我使用命令ls,有一个VirtualBox VMs目录。
但是当我尝试这样做时,cd VirtualBox VMs它说“没有这样的文件或目录”
为什么?
是因为word中的空格键吗?我怎样才能解决这个问题?
cd-command ×10
bash ×5
directory ×3
linux ×2
shell ×2
zsh ×2
alias ×1
filenames ×1
filesystems ×1
ls ×1
oh-my-zsh ×1
shell-script ×1
shopt ×1
whitespace ×1