2015-06-17 2 views
0

Я пытаюсь проверить процесс, выполняющийся на определенном порту, и если он его убивает, так как мне нужно запустить другой процесс на этом порту.Ошибка при выполнении lsof из скрипта bash

Ниже приведен фрагмент кода.

#!/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

У вас есть дополнительные пробелы в декларации IS_RUNNING. Попробуйте

IS_RUNNING="$(lsof...)" 
+0

Спасибо, что поможет решить проблему –

Смежные вопросы