から1を減算/追加:bashスクリプト - これは私が何をしようとしているあるファイル
私はどちらかcounter_use in
またはcounter_use out
で呼び出すことができるスクリプトを作りたいです。私が入力する場合in
私は "カウンター"と呼ばれるファイル内の数値に+1を追加するカウンタを入力してください、私はout
私はファイルから1を引くしたい場合。カウンタが0
Iハードコードカウンタの場合は最後の部分がrunnigさに等しい場合
Iはまた、カウンタの値が等しいかまたは1とNot logged in
よりも高い場合に出力Logged in
にスクリプトを望ん特定の番号。問題は最初の部分です。
echo "In or out?"
read input > counterFile
if grep -q "in" counterFile
then //what should I do here so that it adds +1 to a file called
counter?
elif grep -q "out" counterFile
then //what should I do here so that it subtracts -1 to a file called
counter?
if [ $counter -ge 1 ]
then
echo "Logged in"
elif [ $counter -eq 0 ]
then
echo "Not logged in"
else
echo "Wrong input"
fi
競合状態があるため、これは実際には信頼性がありません。更新中にカウンタファイルをロックする必要があります。 – user1934428
あなたはこれを説明できますか? –
カウンタファイルを読み込み、後で更新されたカウンタファイルを書き出します。 2つ目のプロセスがこのスクリプトを同時に実行すると、読者と読者の間でカウンタファイルを読み取ることができるため、更新された値はまだ表示されません。 – user1934428