可以使用ssh在sh文件上使用变量的呼叫命令



我在 centos 7服务器上具有用二手ID杀死过程的脚本:

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

但我git这个错误:

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

您需要在远程服务器上安装LSOF。

或尝试在脚本中添加/usr/sbin/lsof(例如/usr/sbin/lsof(或在远程服务器中配置路径(如果二进制已经安装

(

最新更新