GNU/Linux >> Linux の 問題 >  >> Linux

前回の実行時の値を保持する Bash スクリプトの変数

残念ながら、状態をどこかのファイルに保存する必要があります。秘訣は、ユーザーが書き込み可能な場所に配置することです。

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"

できませんが、ファイルを使用して実行できます

#!/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. Bashスクリプトがエイリアスを認識しないのはなぜですか?

  2. フォルダから最も古いファイルを削除するためのBashスクリプト?

  3. スクリプトから正しい終了コードを取得できませんか?

  1. Bash +セカンダリスクリプトとメインスクリプトの両方を終了する方法は?

  2. CLI から、ファイルの最後の行を出力します。

  3. bash で、最後の stdout をエコー/印刷する方法はありますか? stdout が割り当てられる変数はありますか?

  1. アトミック作成ファイルが存在しない場合は、bash スクリプトから

  2. Bashを使用してテキストファイルの最後の行を変数に読み込む方法は?

  3. 実行中のスクリプトによって書き込まれているファイルを開くのは安全ですか?