![更改目录时自动列出目录内容](https://linux22.com/image/1549930/%E6%9B%B4%E6%94%B9%E7%9B%AE%E5%BD%95%E6%97%B6%E8%87%AA%E5%8A%A8%E5%88%97%E5%87%BA%E7%9B%AE%E5%BD%95%E5%86%85%E5%AE%B9.png)
我是 ~/.bash_aliases 文件的忠实粉丝,并且我试图让命令cd
在我更改目录时自动列出目录的内容。
在我的 .bash_aliases 文件中,我输入了alias cd='cd $1 && ls .'
,保存了文件,然后获取文件以加载它。现在,当我运行 时cd /
,我得到了预期的输出,但我的目录没有改变。我留在我的主目录中。
任何帮助深表感谢。
答案1
您实际上无法使用别名来执行此操作,因为别名不使用命令行参数。
您可以使用 shell 函数和内置命令 来执行此操作command
。该command
命令告诉 shell 仅使用命令的内置版本cd
,而不是函数。这是必要的,以避免函数中的递归:
cd() {
command cd "$1" && ls
}