|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# Diretório temporário para download e extração |
| 4 | +temp_dir=$(mktemp -d) |
| 5 | + |
| 6 | +sourcemod_version=$2 |
| 7 | +metamod_version=$2 |
| 8 | + |
| 9 | +generate() { |
| 10 | + sourcemod_url="https://www.sourcemod.net/latest.php?version=${sourcemod_version}&os=linux" |
| 11 | + metamod_url="https://www.sourcemm.net/latest.php?version=${metamod_version}&os=linux" |
| 12 | + |
| 13 | + # Download SourceMod and Metamod |
| 14 | + wget -q "$metamod_url" -O $temp_dir/metamod-latest.tar.gz |
| 15 | + wget -q "$sourcemod_url" -O $temp_dir/sourcemod-latest.tar.gz |
| 16 | + |
| 17 | + tar -xzvf "$temp_dir/metamod-latest.tar.gz" -C "$temp_dir" >> /dev/null |
| 18 | + tar -xzvf "$temp_dir/sourcemod-latest.tar.gz" -C "$temp_dir" >> /dev/null |
| 19 | + |
| 20 | + # Usar o comando find para listar todos os arquivos no Sourcemod e salvá-los em um arquivo de lista |
| 21 | + find $temp_dir/addons -type f > sourcemod_files.txt |
| 22 | + find $temp_dir/cfg -type f >> sourcemod_files.txt |
| 23 | + |
| 24 | + # Limpar o diretório temporário |
| 25 | + rm -rf "$temp_dir" |
| 26 | +} |
| 27 | + |
| 28 | +checker() { |
| 29 | + if [[ "$*" == *"-debug"* ]]; then |
| 30 | + set -x |
| 31 | + fi |
| 32 | + |
| 33 | + # Se o arquivo sourcemod_files.txt não existir, gerar a lista |
| 34 | + if [ ! -f "sourcemod_files.txt" ]; then |
| 35 | + generate |
| 36 | + fi |
| 37 | + |
| 38 | + # Ler o arquivo de lista do Sourcemod |
| 39 | + mapfile -t sourcemod_files < "sourcemod_files.txt" |
| 40 | + |
| 41 | + # Loop pelos arquivos listados no sourcemod_files.txt |
| 42 | + for file in "${sourcemod_files[@]}"; do |
| 43 | + # Verifica se o arquivo existe |
| 44 | + if [ -f "$file" ]; then |
| 45 | + # Remove o arquivo |
| 46 | + rm "$file" |
| 47 | + echo "Arquivo removido: $file" |
| 48 | + |
| 49 | + # Verifica se o diretório está vazio |
| 50 | + dir=$(dirname "$file") |
| 51 | + if [ -z "$(ls -A "$dir")" ]; then |
| 52 | + # Remove o diretório se estiver vazio |
| 53 | + rmdir "$dir" |
| 54 | + echo "Diretório removido: $dir" |
| 55 | + fi |
| 56 | + fi |
| 57 | + done |
| 58 | +} |
| 59 | + |
| 60 | +$1 |
| 61 | +checker |
0 commit comments