以前 qiita で公開していた記事を引っ越してきたものです。最終更新からかなり経っているため、情報の正確性は落ちている可能性があります。
bash で定義されているすべての shell variable を普通に declare で出力させると配列の場合の parse がかなり面倒であると感じたため、配列の場合は要素毎に別の変数のように表示させる declare を書いてみました。
$ ./declare.sh : : BASH=/bin/bash BASH_COMMAND=echo $var=${!var} BASH_LINENO[0]=0 BASH_SOURCE[0]=./declare.sh BASH_SUBSHELL=0 BASH_VERSINFO[0]=3 BASH_VERSINFO[1]=2 BASH_VERSINFO[2]=53 BASH_VERSINFO[3]=1 BASH_VERSINFO[4]=release BASH_VERSINFO[5]=x86_64-apple-darwin14 BASH_VERSION=3.2.53(1)-release : :
おそらく応用すれば yaml にしたりもできそうです。