如果我将别名添加alias .="cd .."到我的 .bash_aliases 文件(源自 .bashrc)中,它会导致我创建的每个新 shell 从 .bash_aliases 开始/。我猜这只是我不明白的基本问题。
有任何想法吗?
如果我将别名添加alias .="cd .."到我的 .bash_aliases 文件(源自 .bashrc)中,它会导致我创建的每个新 shell 从 .bash_aliases 开始/。我猜这只是我不明白的基本问题。
有任何想法吗?
.是一个内置的shell命令,相当于“source”——它在当前shell中执行一个shell脚本,从而允许它定义变量、函数等。
此.命令在脚本中经常使用,以从其他脚本中引入定义。当您.使用其他东西时,您会覆盖标准定义并破坏使用它的每个脚本。
请不要重新定义标准命令。
(PS 实际上比这更复杂,因为别名仅在交互式 shell 中有效,因此.在交互式与非交互式 shell 中会做完全不同的事情。这对这种情况并没有真正的帮助。)
.指当前目录,而..指 dirs 层次结构中的上一级目录。
必须发生的是,在您的别名定义之后bashrc有一些.,因此它被调用,因此您被移动到父目录。
所以:
/home/your_homealias .="cd .."。.阅读时发现了一些点.bashrc。cd ..,这将你移动到/home..,它必须再次执行,将你/home从/.解决方案: