无法启动脚本

无法启动脚本
#!/bin/bash
value=$(<man.txt)
echo "$value"

if [ "$value" == "true" ]; then
    echo "startedif_manthan"
      ps -ef|grep sym |awk '{ print $2 }'|sudo  xargs kill -9;
      sleep 30;
    sudo sh /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server;
fi

我有这个脚本可以终止一个进程,并在一段时间后重新启动该脚本。它可以正常终止脚本,但重新启动脚本sudo sh /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server无法正常运行。

当我手动运行脚本时,也会出现问题。我不知道它是否是 shell 脚本。但当我尝试手动转到脚本位置并执行此命令时,./sym --port 8082 --server脚本运行正常。

有什么建议么?

答案1

#!/bin/bash

value=$(<man.txt)

echo "$value"

if [ "$value" == "true" ]; then

    echo "startedif_manthan"

      ps -ef|grep sym |awk '{ print $2 }'|sudo  xargs kill -9;

      sleep 30;

    sudo sh /var/www/symmetric-ds-3.3.1/bin/sym --port 8082

fi

save it as my.sh

This works fine with **symmetric-ds-3.3.1** .

Put echo "true">man.txt

答案2

如果你的脚本崩溃了,那么有几种选择

  • 重命名脚本,使其不再匹配 grep RE。
  • 更改 grep RE 使得它对于您想要终止的程序来说是唯一的。

答案3

首先更改目录

cd /var/www/symmetric-ds-3.1.6/bin/

然后运行

sh sym --port 8082 --server

它可能在当前目录中搜索某些文件。

相关内容