awk没有在bash脚本中工作

时间:2015-09-14 21:06:09

标签: linux bash shell awk scripting

我正在尝试编写一个bash脚本并尝试从用户那里获取输入并执行kill命令来停止特定的tomcat。

...

read user_input
if [ "$user_input" = "2" ]
then
ps -ef | grep "search-tomcat" |awk {'"'"'print $2'"'"'}| xargs kill -9
echo "Search Tomcat Shut Down"
fi

...

我已确认该行

  

ps -ef | grep“search-tomcat”

在脚本中工作正常但是:

  

ps -ef | grep“search-tomcat”| awk {'“'''print $ 2'”'“'}

不会在脚本中产生任何结果,但在终端中提供所需的输出,因此awk命令必须存在一些问题

1 个答案:

答案 0 :(得分:1)

xargs可能很棘手 - 尝试:

  

kill -9 $(ps -ef | awk'/ search-tomcat / {print $ 2}')

如果您更喜欢使用xargs,请检查手册页以获取目标操作系统的选项(即xargs -n。)

还注意到'kill -9'是一个非优雅的进程退出机制(即可能的文件损坏,其他陌生)所以我建议只使用作为最后的手段......

:)