#!/bin/bash # Arch Linux用のClaude Code安全チェックスクリプト COMMAND="$1" # Arch Linux特有の危険なコマンド ARCH_DANGEROUS=( "pacman -Rdd" # 依存関係無視の削除 "pacman -Syu --noconfirm" # 確認なしのシステム更新 "rm -rf /boot" # ブートローダー削除 "rm -rf /etc/pacman" # pacman設定削除 "makepkg --asroot" # rootでのパッケージビルド "yaourt" # 非推奨のAURヘルパー ) # 警告が必要なコマンド ARCH_WARNING=( "pacman -Syu" "pacman -R" "systemctl disable" "systemctl mask" "mkinitcpio" "grub-mkconfig" ) # 基本的な危険コマンドチェック source "$(dirname "$0")/safe-command-check.sh" 2>/dev/null || true # Arch特有のチェック for pattern in "${ARCH_DANGEROUS[@]}"; do if [[ "$COMMAND" =~ $pattern ]]; then echo "❌ Arch Linuxで危険なコマンド: $COMMAND" exit 1 fi done for pattern in "${ARCH_WARNING[@]}"; do if [[ "$COMMAND" =~ $pattern ]]; then echo "⚠️ システムに影響するコマンド: $COMMAND" echo "実行前にスナップショットの作成を推奨します" read -p "続行しますか? (yes/no): " confirm if [[ "$confirm" != "yes" ]]; then exit 1 fi fi done # AURヘルパーの使用をチェック if [[ "$COMMAND" =~ (yay|paru|aurman) ]]; then echo "📦 AURヘルパーを使用: $COMMAND" echo "AURパッケージは信頼できるか確認してください" fi exit 0