Incrementar/disminuir un número en un archivo desde un script (zsh)

Incrementar/disminuir un número en un archivo desde un script (zsh)

Desde un script (que se ejecuta varias veces simultáneamente), me gustaría crear un archivo similar a:

echo "0" > /tmp/count

Entonces me gustaría hacer tres funciones.

incr /tmp/count
decr /tmp/count
is_zero /tmp/count

que hacen algo bastante obvio: incrementar el valor en /tmp/count, disminuir el valor en /tmp/count y probar si el valor es_zero.

Puedo escribir tres programas en C para hacer esto, pero espero que ya exista una manera. ¿Alguna sugerencia?

Respuesta1

incr() {
    var=$(< "$1")
    var=$((var + 1))
    echo $var > "$1"
}

is_zero() {
    var=$(< "$1")
    [[ var -eq 0 ]]
}

decrSe deja como ejercicio para el lector.

información relacionada