众所周知,在Linux中我们不能不通过cd命令来切换目录。的确如此,但我们有一个名为shopt的Linux内置命令可以帮助我们完成此操作。shopt是一个shell内置命令,可以设置和取消设置各种bashshell选项,并且由于它已经安装,我们不需要再次安装它。是的,我们可以在启用该选项后不使用cd命令来切换目录。我们将在本文中向您展示操作方法。这是一个小调整,但对于那些刚从Windows迁移到Linux的人来说非常有用。这对Linux管理员没有用,因为我们不会在没有cd命令的情况下切换到该目录,因为我们有使用它的经验。如果您尝试在Linux中切换目录/文件夹而不使用cd命令,您将看到以下错误消息。这在Linux中很常见。$Documents/bash:Documents/:是一个目录为此,我们需要在user.bashrc中附加以下值。.bashrc是什么?.bashrc是一个shell脚本,每次用户以交互模式打开一个新的shell时都会运行它。您可以在此文件中添加任何要在命令提示符下输入的命令。.bashrc文件本身包含一堆终端会话的配置。包括设置和启用:着色、完成、shell历史记录、命令别名等。$vi~/.bashrc添加此行:shopt-sautocd运行以下命令以使更改生效。$source~/.bashrc我们都配置好了。只需对此进行测试,看看它是否有效。$Documents/cd--Documents/$daygeek/cd--daygeek/$/home/daygeek/Documents/daygeekcd--/home/daygeek/Documents/daygeek$pwd/home/daygeek/Documents/daygeek对,就是这样按预期工作正常。此外,它在fishshell中工作正常,无需对.bashrc进行任何更改。如果您想临时执行此操作,请使用以下命令(设置或取消设置)。系统重启后就会消失。#shopt-sautocd#shopt|grepautocdautocdon#shopt-uautocd#shopt|grepautocdautocdoffshopt命令提供了许多其他选项,如果要验证这些选项,请运行以下命令。$shoptautocdonassoc_expand_onceoffcdable_varsoffcdspelloncheckhashoffcheckjobsoffcheckwinsizeoncmdhistoncompat31offcompat32offcompat40offcompat41offcompat42offcompat43offcompat44offcomplete_fullquoteondirexpandoffdirspelloffdotgloboffexecfailoffexpand_aliasesonextdebugoffextgloboffextquoteonfailgloboffforce_fignoreonglobasciirangesonglobstaroffgnu_errfmtoffhistappendonhistreeditoffhistverifyoffhostcompleteonhuponexitoffinherit_errexitoffinteractive_commentsonlastpipeofflithistofflocalvar_inheritofflocalvar_unsetofflogin_shelloffmailwarnoffno_empty_cmd_completionoffnocasegloboffnocasematchoffnullgloboffprogcomponprogcomp_aliasoffpromptvarsonrestricted_shelloffshift_verboseoffsourcepathonxpg_echooff另外,我发现一些其他程序可以帮助我们比Linux中的cd命令更快地切换目录。它们是pushd、popd、upshell脚本和bd实用程序。我们将在以后的文章中介绍这些主题。
