我在.bash_aliases
. 我c
按如下方式定义了别名,但它不能正常工作:
...
alias cd='cd; ls -r --time=atime'
alias c='cd'
...
Run Code Online (Sandbox Code Playgroud)
在.bashrc
有一行:
alias ls='clear; ls --color=auto'
Run Code Online (Sandbox Code Playgroud)
命令c
现在给出糟糕的输出。它应该提供与
cd; clear; ls -r --time=atime --color=auto
.
其他问题:当我打字时cd dir
我应该呆在里面,dir
但$HOME
结果我在里面。
如何解决这个问题并改进定义别名?被.bash_aliases
解释为regular grammar
?
改用函数,优点是可以传递参数和更清晰的语法。
function cd() {
command cd "$@"
ls -r --time=atime
}
function c() {
cd "$@"
}
function ls() {
clear
command ls --color=auto "$@"
}
Run Code Online (Sandbox Code Playgroud)
(command
是bash
用于引用真实命令的内置命令,而不是具有相同名称的函数)。