bash
にあるか、少なくともC/C++でよく知られているフォワード宣言のようなものがありますか?Bashスクリプトまたはシェルスクリプトの関数の前進宣言?
このようなことは、たとえば、常に1つのパス(行の後ろ)で実行されるためですか?
フォワード宣言がない場合は、スクリプトを読みやすくするために何をすべきですか。むしろ長いですが、最初にこれらの関数定義をグローバル変数と混同すると、スクリプトが醜く見えにくくなり、読みやすく/理解しやすくなります)。私はそのような場合のいくつかのよく知られている/ベストプラクティスを学びたいと思っています。例えば
:
# something like forward declaration
function func
# execution of the function
func
# definition of func
function func
{
echo 123
}
こんにちは、どのようにデータを構造化します持っていますあなたの例ではfoo/bar/bazの間で共有されますか?通常、私はそれをスクリプトの一番上に置きます。関数を使用する場合でもこれは当てはまりますか?あるいは、グローバルなデータをmainに入れてfoo/bar/bazに引数として渡す方が良いでしょうか?ベストプラクティスは何ですか? – bodacydo
私は議論を好む。それを避けて、 'main'または' main'の直後の関数(例えば 'setup'や' parseArguments')の中でグローバル変数を設定します。グローバル変数を 'main'より上に置かないでください。コードは' main'の外に出てはいけません。 –
これはPythonで 'if _ _ name _ _ ==" _ _ main _ _ "と同じように見えます。 –