默认情况下,nice
是一个外部命令:
$ command -v nice
/usr/bin/nice
Run Code Online (Sandbox Code Playgroud)
这意味着它不知道别名,这是一个 shell 特性:
$ alias foo='echo hello'
$ foo
hello
$ nice foo
nice: foo: No such file or directory
Run Code Online (Sandbox Code Playgroud)
然而,shell 的一个特性允许别名也可以扩展更多的别名。您以空格结束扩展。
$ alias nice='/usr/bin/nice '
Run Code Online (Sandbox Code Playgroud)
在最后找到那个空间;这一点很重要。
现在...
$ nice foo
hello
$ command -v nice
alias nice='/usr/bin/nice '
Run Code Online (Sandbox Code Playgroud)
如果您希望 shell 进行别名扩展,任何外部命令都可以用这样的别名包装。