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)が正しく実行されていません。

スクリプトを手動で実行すると、問題が発生します。
シェルスクリプトかどうかわかりません。
しかし、手動でスクリプトの場所に移動してこのコマンドを実行しようとすると、./ sym --port8082--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 に答える