Files
claude/scripts/claude-arch-safety-check.sh
2025-07-05 13:48:50 +09:00

54 lines
1.6 KiB
Bash
Executable File

#!/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