0
#!/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 脚本正常运行。

有什么建议么?

4

1 回答 1

1

既然你说当你cd到脚本目录时它工作正常,那么在脚本中这样做:

#!/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
    (cd /var/www/symmetric-ds-3.1.6/bin; sudo sh ./sym --port 8082 --server)
fi
于 2013-02-14T05:57:20.413 回答