GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Variable in Bash-Skript, die ihren Wert von der letzten Ausführung beibehält

Ich fürchte, Sie müssen den Zustand irgendwo in einer Datei speichern. Der Trick besteht darin, es an einem Ort abzulegen, an den der Benutzer schreiben kann.

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"

Das geht nicht, aber Sie können dafür eine Datei verwenden

#!/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. Verhindern, dass ein Bash-Skript gleichzeitig ausgeführt wird

  2. Warum erkennt das Bash-Skript keine Aliase?

  3. Bash-Skript zum Entfernen der ältesten Datei aus einem Ordner?

  4. Ausführen einer Skriptdatei über SSH durch Sudo?

  5. Bash + So beenden Sie beide Male das sekundäre Skript und das Hauptskript

Unfähig, den richtigen Exit-Code aus einem Skript zu erhalten?

Woher weiß ich den Namen der Skriptdatei in einem Bash-Skript?

In Bash-Skript zur/von der Zwischenablage leiten

Drucken Sie die letzte Zeile einer Datei über die CLI

Ist es sicher, eine Datei zu öffnen, die von einem laufenden Skript geschrieben wird?

Bash-Skript, das sich ändernde Echtzeitwerte von Befehlen anzeigt