私はbashスクリプトが初めてだから愚かな質問をしたらすみませんxD
私は毎日cliコマンドを実行するスクリプトを作成しています。 cliコマンドから得られた出力は、翌日に使用する必要があるIDです。だからそれは同じです
cli-command-delete $oldid; # here we delete the old id which was generated past day
newid=$(cli-command-create) #here we get the new id.
今保存したい新しいロゴから既存のロゴへ、次の日、または次回スクリプトが実行されるときに使用されます。環境変数として保存し、新しいIDを作成して値を変更するにはどうすればよいですか?仮想マシンを再起動すると、この値は保存されますか?エクスポートを使用することをGoogleで見ましたが、別の名前で保存する方法が気になります。
答え1
「仮想マシンを再起動すると、この値は保存されますか?」 - いいえ。
代わりにファイルに書き込まれます。
id_file=$HOME/.local/data/cli-command.id
# delete the old one
cli-command-delete "$(<"$id_file")"
# save the new one
cli-command-create > "$id_file"
答え2
任意の永続ストア(ファイルなど)に保存し、スクリプトの起動時に読み取る必要があり、読み取り可能であることを確認することをお勧めします。たとえば、
#!/usr/bin/env sh
id_path=~/.id
oldid="$(cat $id_path)"
if [ -z "$oldid" ]
then
printf "Failed to read oldid from %s\n" "$id_path" >&2
exit 1
fi
cli-command-delete "$oldid"; # here we delete the old id which was generated past day
cli-command-create > "$id_path"