我正在遍历带有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)