如果我将别名添加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_home
alias .="cd .."
。.
阅读时发现了一些点.bashrc
。cd ..
,这将你移动到/home
..
,它必须再次执行,将你/home
从/
.解决方案: