众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录。这个没错,但我们有一个名为 shopt 的 Linux 内置命令能帮助我们解决这个问题。
shopt 是一个 shell 内置命令,用于设置和取消设置各种 bash shell 选项,由于它已安装,因此我们不需要再次安装它。
是的,我们可以在启用此选项后,可以不使用 cd 命令切换目录。
我们将在本文中向你展示如何操作。这是一个小的调整,但对于那些从 Windows 迁移到 Linux 的新手来说非常有用。
这对 Linux 管理员没用,因为我们不会在没有 cd 命令的情况下切换到该目录,因为我们对此有经验。
如果你尝试在没有 cd 命令的情况下切换 Linux 的目录/文件夹,你将看到以下错误消息。这在 Linux 中很常见。
$ Documents/bash: Documents/: Is a directory
为此,我们需要在用户 .bashrc 中追加以下值。
什么是 .bashrc ?
.bashrc 是一个 shell 脚本,每次用户以交互模式打开新 shell 时都会运行该脚本。
你可以在该文件中添加要在命令提示符下输入的任何命令。
.bashrc 文件本身包含终端会话的一系列配置。包括设置和启用:着色、补全,shell 历史,命令别名等。
$ vi ~/.bashrc
加入这一行:
shopt -s autocd
运行以下命令使更改生效。
$ source ~/.bashrc
我们已完成所有配置。简单地对此进行测试以确认这是否有效。
$ Documents/cd -- Documents/$ daygeek/cd -- daygeek/$ /home/daygeek/Documents/daygeekcd -- /home/daygeek/Documents/daygeek$ pwd/home/daygeek/Documents/daygeek
是的,它正如预期的那样正常工作。
而且,它在 fish shell 中工作正常,而无需对.bashrc进行任何更改。
如果要暂时执行此操作,请使用以下命令(设置或取消设置)。重启系统时,它将消失。
# shopt -s autocd# shopt | grep autocdautocd on# shopt -u autocd# shopt | grep autocdautocd off
shopt 命令提供了许多其他选项,如果要验证这些选项,请运行以下命令。
$ shoptautocd onassoc_expand_once offcdable_vars offcdspell oncheckhash offcheckjobs offcheckwinsize oncmdhist oncompat31 offcompat32 offcompat40 offcompat41 offcompat42 offcompat43 offcompat44 offcomplete_fullquote ondirexpand offdirspell offdotglob offexecfail offexpand_aliases onextdebug offextglob offextquote onfailglob offforce_fignore onglobasciiranges onglobstar offgnu_errfmt offhistappend onhistreedit offhistverify offhostcomplete onhuponexit offinherit_errexit offinteractive_comments onlastpipe offlithist offlocalvar_inherit offlocalvar_unset offlogin_shell offmailwarn offno_empty_cmd_completion offnocaseglob offnocasematch offnullglob offprogcomp onprogcomp_alias offpromptvars onrestricted_shell offshift_verbose offsourcepath onxpg_echo off
-
Linux
+关注
关注
87文章
11219浏览量
208872 -
命令
+关注
关注
5文章
678浏览量
21981
原文标题:如何在 Linux 中不使用 CD 命令进入目录/文件夹?
文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论