Не могу вызвать команду с переменной в файле sh, используя ssh - PullRequest
0 голосов
/ 08 мая 2019

У меня есть скрипт на centos 7 сервере для процесса уничтожения по используемому идентификатору:

#!/bin/sh

echo "killing services..."

kill -9 "$(lsof -t -i:3011)"
kill -9 "$(lsof -t -i:4011)"

Вышеописанный скрипт отлично работает при вызове с сервера.

Но моя цель вызывает этот файл, используя ssh с моего локального компьютера, например:

ssh xxx@xxx.x "sh ~/stopServices.sh"

Но я получаю эту ошибку:

killing services...
/home/system/gepick-dev/stopDevServices.sh: line 5: lsof: command not found
/home/system/gepick-dev/stopDevServices.sh: line 5: kill: `': not a pid or valid job spec
/home/system/gepick-dev/stopDevServices.sh: line 6: lsof: command not found
/home/system/gepick-dev/stopDevServices.sh: line 6: kill: `': not a pid or valid job spec

1 Ответ

1 голос
/ 08 мая 2019

вам нужно установить lsof на удаленный сервер.

или попробуйте добавить полный путь, например / usr / sbin / lsof, в ваш скрипт или настройте PATH на удаленном сервере, если двоичный файл уже установлен

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...