私はbashスクリプトセットを持っており、各スクリプトの先頭で選択される "setup.sh"スクリプトにいくつかの一般的なシェルオプションと変数宣言を入れたいと思います。
私のディレクトリ構造は次のとおりです。
├── includes
│ └── setup.sh
├
└── server_config
├── build_server_core.sh
├── install_fail2ban.sh
スクリプトは他のシステムや環境で実行できるため、単にハードコードされたパスを使用することはできません。setup.sh
source
私が実行しているディレクトリとは異なるディレクトリにあるスクリプトに対する1行のコマンドはありますか?
ベストアンサー1
まずスクリプト自体のディレクトリを取得し、次の相対パスを使用します。
DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
source "$DIR/../includes/setup.sh"
正しいディレクトリを見つける方法の詳細については、以下を確認してください。https://stackoverflow.com/questions/59895