質問: ``` hello="hello world" # ファイルに保存する処理を何かしらする # ここで何かしらセッションとか切れて変数がリセットされる # ファイルに保存した変数を取り込む echo $hello # hello worldが表示される ``` 保存されたファイル ``` hello=hello world ``` 上記のようにシェルでやるわけでなく直コマンド操作しているときに変数とかを一時的に保存とかできないのかなと思っているのですが、 何か簡単にできないでしょうか? ついでに、同じ変数名だと上書きするようにしたいです。
回答: **回答** `bash`など、`declare`が使える`sh`であれば、比較的簡単に変数をファイルに退避し、復元することができます。環境変数とsh変数も区別されます。 **環境変数の退避** ``` HELLO='Hello, world!' declare -p HELLO > hello.env #変数をファイルに退避 ``` **環境変数の復元** ``` unset HELLO source hello.env #ファイルから変数を復元 printf "%s\n" "${HELLO}" ``` **復元結果** ``` Hello, world! ```