From 9e4c37a6044ce818d181b32eeecc6bea1aec0310 Mon Sep 17 00:00:00 2001 From: tonbiattack Date: Sat, 24 Jan 2026 12:29:09 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20setup.sh=E3=81=AE=E3=82=B3=E3=83=9E?= =?UTF-8?q?=E3=83=B3=E3=83=89=E3=83=AA=E3=82=B9=E3=83=88=E3=82=92=E9=85=8D?= =?UTF-8?q?=E5=88=97=E3=81=8B=E3=82=89=E6=96=87=E5=AD=97=E5=88=97=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E3=81=97=E3=80=81PATH=E8=BF=BD=E5=8A=A0?= =?UTF-8?q?=E5=87=A6=E7=90=86=E3=82=92=E6=94=B9=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- setup.sh | 125 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 63 insertions(+), 62 deletions(-) diff --git a/setup.sh b/setup.sh index fe19dfe..5a65728 100644 --- a/setup.sh +++ b/setup.sh @@ -69,47 +69,45 @@ fi # # シンボリックリンクを使用することで、ディスク容量を節約できます # (Windows版は実行ファイルのコピーを使用) -commands=( - "git-newbranch" - "git-rename-branch" - "git-reset-tag" - "git-amend" - "git-squash" - "git-track" - "git-delete-local-branches" - "git-undo-last-commit" - "git-tag-diff" - "git-tag-diff-all" - "git-tag-checkout" - "git-stash-cleanup" - "git-stash-select" - "git-recent" - "git-step" - "git-sync" - "git-pr-create-merge" - "git-pr-merge" - "git-pr-list" - "git-pause" - "git-resume" - "git-create-repository" - "git-new-tag" - "git-browse" - "git-pr-checkout" - "git-clone-org" - "git-batch-clone" - "git-abort" - "git-issue-list" - "git-issue-create" - "git-issue-edit" - "git-issue-bulk-close" - "git-release-notes" - "git-repo-others" - "git-pr-browse" - "git-pr-issue-link" - "git-worktree-new" - "git-worktree-switch" - "git-worktree-delete" -) +commands="git-newbranch +git-rename-branch +git-reset-tag +git-amend +git-squash +git-track +git-delete-local-branches +git-undo-last-commit +git-tag-diff +git-tag-diff-all +git-tag-checkout +git-stash-cleanup +git-stash-select +git-recent +git-step +git-sync +git-pr-create-merge +git-pr-merge +git-pr-list +git-pause +git-resume +git-create-repository +git-new-tag +git-browse +git-pr-checkout +git-clone-org +git-batch-clone +git-abort +git-issue-list +git-issue-create +git-issue-edit +git-issue-bulk-close +git-release-notes +git-repo-others +git-pr-browse +git-pr-issue-link +git-worktree-new +git-worktree-switch +git-worktree-delete" echo "" echo "シンボリックリンクを作成中..." @@ -119,7 +117,7 @@ echo "" success_count=0 # 各コマンド用にシンボリックリンクを作成 -for cmd in "${commands[@]}"; do +for cmd in $commands; do printf " 作成中: %-30s " "$cmd..." # 既存のシンボリックリンクやファイルを削除(クリーンインストール) @@ -128,7 +126,7 @@ for cmd in "${commands[@]}"; do # git-plus へのシンボリックリンクを作成 if ln -s "$BIN_PATH/git-plus" "$BIN_PATH/$cmd" 2>/dev/null; then echo "✓ OK" - ((success_count++)) + success_count=$((success_count + 1)) else echo "✗ FAILED" fi @@ -161,25 +159,28 @@ fi # binディレクトリが既にPATHに含まれているか確認 # コロンで囲んで検索することで、部分一致を防ぎます -if [[ ":$PATH:" != *":$BIN_PATH:"* ]]; then - echo "PATHに追加中: $BIN_PATH" - - # シェル設定ファイルにPATH設定を追記 - echo "" >> "$SHELL_RC" - echo "# Git extension commands" >> "$SHELL_RC" - echo "export PATH=\"\$HOME/bin:\$PATH\"" >> "$SHELL_RC" - - # 現在のシェルセッションにも即座に反映 - # これにより、スクリプト実行後すぐにコマンドを使用可能になります - export PATH="$BIN_PATH:$PATH" - - echo "✓ $SHELL_RC にPATHを追加しました" - echo "" - echo -e "\033[36m注意: 新しいターミナルセッションで有効になります\033[0m" - echo -e "\033[36m または 'source $SHELL_RC' を実行してください\033[0m" -else - echo "✓ 既にPATHに含まれています" -fi +case ":$PATH:" in + *":$BIN_PATH:"*) + echo "✓ 既にPATHに含まれています" + ;; + *) + echo "PATHに追加中: $BIN_PATH" + + # シェル設定ファイルにPATH設定を追記 + echo "" >> "$SHELL_RC" + echo "# Git extension commands" >> "$SHELL_RC" + echo "export PATH=\"\$HOME/bin:\$PATH\"" >> "$SHELL_RC" + + # 現在のシェルセッションにも即座に反映 + # これにより、スクリプト実行後すぐにコマンドを使用可能になります + export PATH="$BIN_PATH:$PATH" + + echo "✓ $SHELL_RC にPATHを追加しました" + echo "" + echo -e "\033[36m注意: 新しいターミナルセッションで有効になります\033[0m" + echo -e "\033[36m または 'source $SHELL_RC' を実行してください\033[0m" + ;; +esac # ================================================================================ # セットアップ完了メッセージと使用例