Shell 脚本 CentOS - 通过读取其配置文件并获取端口来终止过程



我正在遍历带有Java应用程序的文件夹,并获取每个文件夹的配置文件。

app1/config.yml

app2/config.yml

等。

然后使用:

从这个配置文件中提取端口:

port= cat app1/config.yml | grep 90 | cut -d: -f2

我想使用端口来终止应用程序,我确实发现这段代码完成了我想要它做的一半:

kill $(sudo lsof -t -i:4990)

我想使用存储在端口的变量来执行kill命令,但我不能让它工作,使用命令的正确方法是什么,我尝试了多种方法:

kill $(sudo lsof -t -i:$port)
kill $(sudo lsof -t -i:port)
kill $(sudo lsof -t -i:"$port")
kill $(sudo lsof -t -i:'$port')

但是这些都不起作用,我总是出错。

如有任何帮助,不胜感激

您没有正确设置port,您在命令周围遗漏了$(...)

port=$(cat app1/config.yml  | grep 90 | cut -d: -f2)
kill $(sudo lsof -t -i:$port)

最新更新