如何在 Mac 终端中创建别名?
How to create alias in Mac Terminal?
每次我输入 cd folder
或 cd ..
我希望它在 运行 ls
之后立即出现。
有办法吗?
我强烈建议不要覆盖 cd
本身,但本质上你想做的是:
alias cdl='cd $*; ls'
这里cdl
是你的新命令的名称(如果你真的坚持也可以是cd
)然后你将它分配给另一个命令,它本身就是两个命令的序列命令:
cd $*
其中 $*
指的是您传递给 cdl
的所有参数
ls
您可以将 ls
的执行条件设置为 cd
的成功,即只有 运行 如果 cd
被赋予了一个有效的文件夹,否则什么都不做:
alias cdl='cd $* && ls'
更新
@Cyrus,你是对的,这在别名中不起作用(尽管如果你直接从命令行 运行 就可以)。这虽然有效:
alias cdl='ls $*; cd $*'
重新发布 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 folder
或 cd ..
我希望它在 运行 ls
之后立即出现。
有办法吗?
我强烈建议不要覆盖 cd
本身,但本质上你想做的是:
alias cdl='cd $*; ls'
这里cdl
是你的新命令的名称(如果你真的坚持也可以是cd
)然后你将它分配给另一个命令,它本身就是两个命令的序列命令:
cd $*
其中$*
指的是您传递给cdl
的所有参数
ls
您可以将ls
的执行条件设置为cd
的成功,即只有 运行 如果cd
被赋予了一个有效的文件夹,否则什么都不做:
alias cdl='cd $* && ls'
更新
@Cyrus,你是对的,这在别名中不起作用(尽管如果你直接从命令行 运行 就可以)。这虽然有效:
alias cdl='ls $*; cd $*'
重新发布 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
}