1. ホーム
  2. bash

[解決済み] bashでスクリプトの中で宣言された変数をリストアップする方法は?

2022-10-03 12:34:37

質問

bashで作ったスクリプトにはたくさんの変数があり、それらをファイルに保存するためのものを作らなければなりません。 私の質問は、私のスクリプトで宣言されたすべての変数をリストアップし、このようなリストを取得する方法です。

VARIABLE1=abc
VARIABLE2=def
VARIABLE3=ghi

どのように解決するのですか?

set は変数を出力しますが、残念ながら関数の定義も出力してしまいます。

POSIXモードでは、幸いにも変数のみが出力されます。

( set -o posix ; set ) | less

へのパイピング less または、オプションが必要な場所にリダイレクトします。

というわけで、スクリプトだけで宣言された変数を取得するために

( set -o posix ; set ) >/tmp/variables.before
source script
( set -o posix ; set ) >/tmp/variables.after
diff /tmp/variables.before /tmp/variables.after
rm /tmp/variables.before /tmp/variables.after

(せめてこれをベースにしたものを :-) )