bash・Python スクリプトの作成・修正。「スクリプトを書いて」「bash スクリプト」「Python スクリプト」「スクリプトを作成」「スクリプトを修正」と言われたときに使用。
get_contributors.bash, get_pr_detail_comments_review_threads.bash, new_branch.bash, pbcopy_files.bash, stash_and_pr.bashai_code.py, get_github_template.py, base/worktree_manager.py, base/pr_parser.py.bashrc への登録 + 実行権限付与base/拡張子: .bash / 1ファイル1関数
# 関数の説明(日本語、1-2行)
function hiho_関数名() {
# 1. 依存コマンド確認
# 2. 引数処理 + バリデーション
# 3. ローカル変数初期化
# 4. メイン処理
}
hiho_ プレフィックス + スネークケースlocal を付ける、スネークケース小文字>&2 に出力return 1、正常時 return 0 または returnif ! command -v xxx >/dev/null; thenmktemp + trap でクリーンアップ$# で個数チェックset +e / set -e でエラーハンドリングusage() 関数を定義拡張子: .py / shebang: #!/usr/bin/env python3
#!/usr/bin/env python3
"""モジュールの説明(日本語、1-3行)"""
import ... # 標準ライブラリ → サードパーティ → ローカルの順
def main() -> None:
...
def helper_function() -> None:
"""関数の説明"""
...
if __name__ == "__main__":
main()
def main() -> None: を最上部に配置if __name__ == "__main__": を最下部に配置from pathlib import Path(os.path は使わない)Path.read_text() / Path.read_bytes()print(..., file=sys.stderr) + sys.exit(1)shutil.which(cmd) で存在チェックsubprocess.run(..., capture_output=True, text=True)新規作成時は .bashrc に追記し、実行権限を付与する。
Bash スクリプト:
source "${script_dir}/ファイル名.bash"
Python スクリプト:
alias hiho_スクリプト名="${script_dir}/スクリプト名.py"
chmod +x スクリプト名.py