GNU/Linux >> Belajar Linux >  >> Linux

Variabel dalam Bash Script yang mempertahankan nilainya sejak terakhir kali dijalankan

Saya khawatir Anda harus menyimpan status dalam file di suatu tempat. Triknya adalah dengan meletakkannya di suatu tempat di mana pengguna dapat menulis.

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"

Anda tidak bisa, tetapi Anda dapat menggunakan file untuk melakukannya

#!/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. Mencegah skrip bash berjalan secara bersamaan

  2. Menjalankan File Skrip Melalui Ssh Melalui Sudo?

  3. Bash + Bagaimana Cara Keluar Dari Skrip Sekunder Dan Dari Skrip Utama Pada Kedua Kalinya?

  1. Bagaimana saya tahu nama file skrip dalam skrip Bash?

  2. Buka Vim dari dalam skrip Bash Shell

  3. Di bash, apakah ada cara untuk mengulang/mencetak stdout terakhir? Apakah ada variabel yang ditugaskan ke stdout?

  1. Apakah aman membuka file yang sedang ditulis oleh skrip yang sedang berjalan?

  2. bash + baca variabel &nilai dari file dengan skrip bash

  3. Skrip Bash yang menunjukkan perubahan nilai waktu nyata dari perintah