bashスクリプトを書くときには、グローバル変数をいくつかの異なる場所で宣言するのではなく、その引数に基づいて演算を実行する自己完結型関数を書いています。コードは読みやすさを低下させます。ファイル内のすべての変数をbashで表示する
問題は、いくつかの変数を使用する必要がある関数がある場合に発生します。関数に10個の変数のようなものを渡すことは単純で醜いです。単純な連想配列を使うことができます。
我々は外部ファイルにこれらの変数を宣言したい場合は、「ソース」コマンドは、あなたがそれらをすべてインポートすることができます。
問題、その後、私はこれだけ、このファイル内で宣言された変数をリストしないか、となり私はそれらと連想配列を作ることができますか? 私は "compgen"とループの組み合わせを使って変数のリストから連想配列を構築することができましたが、呼び出されたものにかかわらずファイル内の変数のみをリストする方法はありますそれらを介して私の配列を構築する?
(doxygen、javadoc、および派生ツールの場合と同じように)ドキュメントの解析が簡単なコメント形式を使用することをお勧めします。 –
設定ファイルのソースの前後で 'declare' /' set'の出力をいつでも比較できますか? =)あるいは、設定ファイルがその関数に固有のものであれば、配列を直接作成するだけです。関数に固有のものでなければ、正しい変数だけを使う方法が必要なので、関数が期待する変数名を取る "collect_args"関数を書いてください。 –
ありがとう。 @EtanReisnerあなたの提案は、実際のファイルを解析する以外の方法では解決できないようだと思うかもしれません。 – ByteFlinger