带有 args 的别名或拦截复杂的 bash 命令

Kev*_*oos 3 bash

如何为带有标志的命令创建 bash 别名?例如,如果我运行ls -l,我希望它别名为ls -a.

这不起作用: alias "ls -l"="ls -a"

另一个例子:如果我输入reboot now,我希望它简单地运行reboot.

bash 函数在这里有用吗?


编辑:对不起,这个愚蠢的ls -l例子。这就是我真正想要的:如果您执行了reboot now,我希望它实际执行reboot这就是为什么。

dev*_*ull 6

另一个例子:如果我输入reboot now,我希望它简单地运行reboot.

创建一个函数:

reboot() {
  command reboot
}
Run Code Online (Sandbox Code Playgroud)

现在调用命令reboot将调用reboot忽略传递给它的所有参数的函数。

那是:

reboot
Run Code Online (Sandbox Code Playgroud)

reboot now
Run Code Online (Sandbox Code Playgroud)

将执行命令reboot(不带任何参数)。