从bash脚本执行lsof时出错

时间:2015-06-17 11:24:02

标签: linux bash shell scripting

我正在尝试检查在特定端口上运行的进程,如果存在则杀死它们,因为我必须在该端口上启动另一个进程。

以下是我的代码段。

#!/usr/bin/env bash

TEST_CASE_PATH="$HOME/Projects";

#kill Previous Process Running on port 9130

OUTPUT="$(ls -1)"
echo "${OUTPUT}" # Getting proper Output

PORT_NUMBER=9130
IS_RUNNING = "$(lsof -i tcp:${PORT_NUMBER} |  awk 'NR!=1 {print $2}' | xargs kill)"

echo "${IS_RUNNING}" # this fails

$ OUTPUT似乎工作得很好,但是管道命令似乎破了。

我得到的错误如下:

  

IS_RUNNING:找不到命令

任何人都知道如何解决这个问题。

由于

1 个答案:

答案 0 :(得分:1)

您在IS_RUNNING的声明中有额外的空格。尝试

IS_RUNNING="$(lsof...)"