如何用引号创建别名

Jas*_*Jas 1 linux shell alias

我尝试使用引号创建别名,如下所示:

alias myalias='ps -ef | grep tomcat | kill -9 `awk {'print $2'}`'
Run Code Online (Sandbox Code Playgroud)

但正如你所看到的,我已经'在 awk 中了

所以我试图更换

awk {'print $2'}
Run Code Online (Sandbox Code Playgroud)

awk {"print $2"}
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个别名时,奇怪的事情发生在我身上,即控制台窗口被关闭......我怎样才能让这个别名工作

gle*_*man 9

使用函数而不是别名可以避免大多数这些引用问题:

myfn() { ps -ef | awk '/tomcat/ {print $2}' | xargs kill -9; }
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 awk,则不需要 grep。

或者,坚持使用一个函数并避免几乎所有你正在做的工作:

alias myalias='pkill -9 -f tomcat'
Run Code Online (Sandbox Code Playgroud)