别名在后台运行的命令

Hoo*_*ked 27 bash alias

我想要一个键盘快捷键这样工作:

> e foo.txt
Run Code Online (Sandbox Code Playgroud)

扩展为

> emacs foo.txt &
Run Code Online (Sandbox Code Playgroud)

使用起来很简单alias e=emacs,但如何&在文件名后插入?我意识到仅使用 可能无法实现alias,因此我将接受任何 bash 解决方案。如果需要 shell 脚本,请解释它是如何工作的。

APr*_*mer 41

bash 中的别名不能有参数,但可以使用函数。

e() { emacs "$@" & }
Run Code Online (Sandbox Code Playgroud)

然后

e foo.txt
Run Code Online (Sandbox Code Playgroud)

会做你想做的。

  • @Hooked,然后在函数中使用 `"$@"` 而不是 `"$1"`。 (4认同)