1
#!/bin/bash

# Reading Manthan Status
echo "Manthan cat started"
cat /var/www/symmetric-ds-3.1.6/bin/my_mon.txt | while read LINE

do
    echo "Inside my loop"
    echo "$LINE"
    if [ "$LINE" == "false" ]; then
        echo "startedif_my"
        sudo lsof -n -i:8082 | grep LISTEN | awk '{ print $2 }' | uniq |sudo  xargs kill -9;
        sleep 30;
        sudo sh /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server;
        break
    fi
done


#Reading Panel Status
echo "Panel cat started"
cat /var/www/symmetric-ds-3.1.6/bin/panel_mon.txt | while read LINE

do
    echo "Inside panel loop"
    echo "$LINE"
    if [ "$LINE" == "false" ]; then

        sudo lsof -n -i:8082 | grep LISTEN | awk '{ print $2 }' | uniq |sudo  xargs kill -9;
        sleep 30;
        sudo sh /var/www/symmetric-ds-3.1.6/bin/sym --port 8082 --server;
        break
    fi
done
echo "end of script"

上記のスクリプトを実行すると、スクリプトは最初のファイルを読み取り、$Line をエコーし​​ます。その後、2番目のファイルを読み取らず、スクリプトの最後である最後のエコーに進みます。

理由を教えてください。

4

1 に答える 1

1
value=$(</var/www/symmetric-ds-3.1.6/bin/my_mon.txt)
if [ "$LINE" == "false" ]; then
echo"Inside loop"
fi

This worked for me. Culprit is cat I guess

于 2013-02-14T04:53:55.157 に答える