
Hai presente quella cartella che giuri sempre di riordinare?
Quella con nomi tipo test.sh, script_finale_v2_ok.sh, fix_urgente_boh.sh, e il leggendario non_toccare_ma_funziona.sh?
Ecco, benvenuto nel club.
Siamo un’élite. I disordinati funzionali. Quelli che vivono nel caos… ma un caos con metodo.
“L’ordine è il piacere della ragione, ma il disordine è la delizia dell’immaginazione.” – Paul Claudel
L’idea geniale (che non costa nulla e ti fa sembrare un hacker)
Un giorno, tra una grep disperata e un find . | xargs, è nata una piccola scintilla:
“E se facessi un menu? Una toolbox?”
Una roba semplice, che guarda dentro la cartella degli script, ti mostra un elenco figo, e ti lascia scegliere quale eseguire.
Boom. Niente più cd, niente più ls, niente più “ma dove cavolo l’ho salvato?”
Il codice magico
#!/bin/bash
# Cartella degli script
SCRIPT_DIR=/home/riccardo/Insync/gmail_riccardo.renda/Script/
# Trova solo i file .sh (non ricorsivo)
SCRIPTS=($(find "$SCRIPT_DIR" -maxdepth 1 -type f -name "*.sh"))
# Se non ci sono script, esci
if [ ${#SCRIPTS[@]} -eq 0 ]; then
echo "Nessuno script .sh trovato in $SCRIPT_DIR"
exit 1
fi
# Ordina gli script alfabeticamente
SCRIPTS=($(for script in "${SCRIPTS[@]}"; do basename "$script"; done | sort))
# Mostra il menu
echo "=== Toolbox ==="
for i in "${!SCRIPTS[@]}"; do
echo "$((i+1)). ${SCRIPTS[$i]}"
done
# Chiedi la scelta
read -p "Scegli uno script da eseguire (numero): " CHOICE
# Valida l'input
if [[ "$CHOICE" =~ ^[0-9]+$ ]] && [ "$CHOICE" -ge 1 ] && [ "$CHOICE" -le "${#SCRIPTS[@]}" ]; then
#Esegui lo script scelto
bash "$SCRIPT_DIR/${SCRIPTS[$((CHOICE-1))]}"
else
#Se la scelta non è valida, stampa un messaggio d'errore in rosso
echo -e "\033[31mScelta non valida. Tornatene al caos.\033[0m"
fi
Cosa fa?
- Un menu che ti fa sentire un po hacker e un po sistemista Zen.
- Il potere di evocare i tuoi script con un numero. Letteralmente.
- Il gusto di bullarti con i colleghi: “Ah sì, io li gestisco tutti da un menu dinamico…”
Ma serve sta cosa?
No.
Cioè sì.
Cioè dipende da quanto ti scoccia cercare fix_urgente_boh.sh ogni volta che serve.
Il punto è: ti dà ordine senza dover essere ordinato.
E onestamente? Questo è il massimo che possiamo sperare, noi caotici funzionali.
Rendi il tuo script disponibile da tutto il sistema
Ultima parte: Mettiamo in ordine anche questo
Per rendere uno script eseguibile da qualsiasi terminale senza dover specificare il percorso completo, da bravi disordinati, possiamo copiarlo in una directory che è inclusa nel PATH del sistema, come /usr/local/bin. In questo modo, il sistema saprà dove trovare lo script e sarai in grado di eseguirlo semplicemente digitando il suo nome.
per fare questo, da dentro la cartella dove abbiamo salvato il nostro bellissimo script ToolBox.sh possiamo lanciare
#per renderlo esegibile
sudo chmod +x ToolBox.sh
#per copiarlo nella bin e renderlo disponibile
sudo cp ToolBox.sh /usr/local/bin/ToolBox.sh
a questo punto possiamo avviarlo da un qualsiasi terminale:
ToolBox.sh
Conclusioni: Perché vivere nel caos quando puoi avere una Toolbox?
Adesso che hai creato il tuo script Toolbox, sei pronto a dominare il terminale con il potere di un click (o meglio, di un comando). Non importa se sei un principiante o un veterano: questa piccola “cassetta degli attrezzi” ti permetterà di risparmiare tempo e fatica, proprio come un supereroe del codice, ma senza il mantello (e senza il pericolo di inciampare).
Quindi, se ti senti pronto per affrontare il mondo con ordine, o almeno con una buona dose di divertimento organizzato, non dimenticare di utilizzare il tuo nuovo ToolBox. E ricorda: in un mondo di caos, la vera forza sta nell’avere gli strumenti giusti a portata di mano… o meglio, a portata di terminale!
E se qualcosa va storto, beh, almeno hai uno script che ti ricorda di “tornare al caos”.
