我一直在四处寻找将别名和ls合成为一个命令的方法。 目前我已经定义了命令x:
alias x="clear;ls"
现在有什么解决办法来避免recursion和定义:
alias ls='clear;ls'
如果你在命令名之前加一个反斜杠,那将会禁用任何别名。
alias ls='clear;\ls'
或者,就像阿诺说的那样,只要使用ls的完整路径。
另一种方法是这样做的
alias ls='clear; command ls'
这与/usr/bin/ls
,因为它仍然在$PATH
搜索ls
,但会忽略shell函数或别名。
做就是了 :
alias ls='clear;/usr/bin/ls'
输入时:
$ ls
首先它会搜索一个用户定义的函数,它会启动它,否则搜索$ PATH命令。
通过给出ls
命令的显式路径,可以避免递归。