シェルスクリプトのファイル内未定義変数を調べる

どれが外部ファイルで宣言されているのかわからない

シェルスクリプトでかなりの数の変数を外部ファイルで定義をしているものに出会った時に、どれが外部宣言なのかを調べるために作りました。check.py < sample.shって感じで使います。




evalで変数展開して組み合わせて使っている変数には対応していません。
hoge=foo
fuga=bar
foobar=yes

eval echo \$$hoge$fuga
# yes