如何在 Mac 终端中创建别名?

每次我输入 cd foldercd .. 时,我都希望它在之后立即运行 ls

有没有办法做到这一点?

ykdsqqf 回答:如何在 Mac 终端中创建别名?

转发another post

的回答

把它放在 .zshrc 中为 cl 创建别名:

#print contents after moving to given directory
cl()
{
    cd $@
    ls
}

要覆盖 cd(不推荐),请将其放在 .zshrc 中:

#print contents after moving to given directory
cd()
{
    builtin cd $@
    ls
}
,

我强烈建议不要覆盖 cd 本身,但基本上您想做的是:

alias cdl='cd $*; ls'

这里的 cdl 是您的新命令的名称(如果您真的坚持,它也可以是 cd)然后您将它分配给另一个命令,它本身是两个命令的序列:

  • cd $* 其中 $* 是指您传递给 cdl 的所有参数
  • ls 您可以以 ls 的成功为条件来执行 cd,即仅在为 cd 提供有效文件夹时才运行它,否则什么都不做:
alias cdl='cd $* && ls'

更新

@Cyrus,您说得对,这在别名中不起作用(尽管如果您直接从命令行运行,则可以)。这虽然有效:

alias cdl='ls $*; cd $*'
本文链接:https://www.f2er.com/200588.html

大家都在问