niedziela, 21 lutego 2010

Testowanie czy STDOUT jest terminalem w skrypcie shell (BASH)

 Po wydaniu tego polecenia:

DEBUGME=0 && [ $(stat -c "%t" -L "/proc/$$/fd/1") -eq 88 ] && DEBUGME=1
Zmienna DEBUG będzie miła wartość 1 gdy skrypt zostanie uruchomiony z terminala (interaktywny).
Przydatna może być też taka funkcja:

function debugme() {
        if [ "0$DEBUGME" -eq 1 ]
        then
                echo $*
        fi
}

Brak komentarzy: