L'istruzione IF non funziona correttamente in osascript

1

Sto lavorando su script che dovrebbe fare qualcosa se l'applicazione è in esecuzione o no Inoltre ci dovrebbe essere un timer di controllo (60 secondi) Il problema è che l'istruzione "if" che sta controllando "count" non funziona.

Ecco uno script:

#!/bin/bash
osascript -e "do shell script \"

COUNT="0"

while true;
do
    if (ps aux | grep Skype | grep -v grep > /dev/null)
    then
        echo "RUNNING" > /Users/someuser/Desktop/RUNNING.txt
    else
        echo "STOPPED" > /Users/someuser/Desktop/STOPPED.txt
    fi

    sleep 1
    COUNT=$((COUNT+1))

    if (("$COUNT" > "60"))
    then
        exit 0
    fi

done

\" with administrator privileges"
    
posta Sergio 10.03.2015 - 12:06
fonte

1 risposta

0

In questo modo funziona:

#!/bin/bash
osascript -e do shell script \"

COUNT=0

while true;
do
    if (ps aux | grep Skype | grep -v grep > /dev/null)
    then
        echo 'RUNNING' > /Users/someuser/Desktop/RUNNING.txt
    else
        echo 'STOPPED' > /Users/someuser/Desktop/STOPPED.txt
    fi

    sleep 1
    COUNT=$((COUNT+1))

    if (($COUNT > 60))
    then
        exit 0
    fi

done
\" with administrator privileges
  • Non hai bisogno delle virgolette prima di do shell script , in quanto si tratta di una frase di meleScript.
  • Evita le doppie virgolette non necessarie per evitare errori.
risposta data 10.03.2015 - 17:54
fonte

Leggi altre domande sui tag