シェルスクリプト・ライブラリ
- コーディング(coding.instructions.md)
- シェル・スクリプト(sh.instructions.md)
- テスト(test.instructions.md)
- コア(core.sh)
- ライブラリ利用(import, run)
- ロガー(logger.sh)
- ログレベル指定制御(DEBUG/INFO/WARN/ERROR)
- ログ出力関数(log_debug, log_info, log_warn, log_error)
- テストヘルパー(test_helper.sh)
- アサーション(assert_equals, assert_true など)
- パラメータ化テスト(execute_parameterized_test)
- テスト実行(execute_tests)
- 自動テスト検出・実行(run_tests.sh)
- テストファイル検索・実行
git submodule add https://github.com/goataka/shared-shell.git .submodules/shared-shellref. git submodules
#!/bin/bash
set -euo pipefail
source "<REPO_ROOT>/.submodules/shared-shell/core.sh"
import "logger/logger.sh"
func() {
log_debug "デバッグメッセージ"
log_info "情報メッセージ"
log_warn "警告メッセージ"
log_error "エラーメッセージ"
}#!/bin/bash
set -euo pipefail
source "<REPO_ROOT>/.submodules/shared-shell/core.sh"
import "tests/test_helper.sh"
my_test() {
assert_equals "foo" "foo" "fooはfooと等しい"
}
main() {
execute_tests my_test
}
main "$@"#!/bin/bash
set -euo pipefail
source "<REPO_ROOT>/.submodules/shared-shell/core.sh"
main() {
run tests/run_tests.sh
}
main "$@"