"bin"にモジュラーbashスクリプトを追加するには?

sourceスクリプトをよりモジュール化するために使用するbashスクリプトがあります。binユーザーディレクトリにコピーする様子は次のとおりです。

/bin
    modules/
        script-1
        script-2
        script-3
        script-4
        script-5
    main-app

main-appただし、自分のディレクトリ以外のディレクトリで実行したい場合は機能しませんbin。これらのファイルを正しくインポートするためにsource ./modules/script-xinを使用する方法はありますか?それともファイルにmain-app変換する必要がありますか?main-app本当に必要な場合は手動で行う必要がありますか、または一種の「コンパイラ」を使用する必要がありますか?

ベストアンサー1

使用$0位置パラメータとdirname:

#!/bin/bash

echo running "$(dirname "$0")/$(basename "$0")"
source "$(dirname "$0")/modules/script-1"

おすすめ記事