GNU/Linux >> Tutoriales Linux >  >> Linux

Variable en Bash Script que mantiene su valor desde la última vez que se ejecutó

Me temo que tienes que guardar el estado en un archivo en alguna parte. El truco es ponerlo en algún lugar donde el usuario pueda escribir.

yourscriptvar=0

if [ -e "$HOME/.yourscriptvar" ] ; then
    yourscriptvar=$(cat "$HOME/.yourscriptvar")
fi

# do something in your script

#save it output the file
echo $yourscriptvar > "$HOME/.yourscriptvar"

No puedes, pero puedes usar un archivo para hacerlo

#!/bin/bash

valuefile="/tmp/value.dat"

# if we don't have a file, start at zero
if [ ! -f "$valuefile" ]; then
    value=0

# otherwise read the value from the file
else
    value=$(cat "$valuefile")
fi

# increment the value
value=$((value + 1))

# show it to the user
echo "value: ${value}"

# and save it for next time
echo "${value}" > "$valuefile"

Linux
  1. ¿Vista completa de dónde se establece la variable de ruta en Bash?

  2. Bash Script para eliminar el archivo más antiguo de una carpeta?

  3. ¿No puede obtener el código de salida correcto de un script?

  4. Imprimir la última línea de un archivo, desde la CLI

  5. Abra Vim desde dentro de un script de shell Bash

Canalizar hacia/desde el portapapeles en el script Bash

archivo de creación atómica si no existe desde el script bash

¿Cómo leer la última línea de un archivo de texto en una variable usando Bash?

¿Es seguro abrir un archivo que está siendo escrito por un script en ejecución?

bash + leer variables y valores del archivo mediante script bash

Script Bash que muestra el cambio de valores en tiempo real de los comandos