From e1753f950c2320024b87d9c4f6ca64e761640028 Mon Sep 17 00:00:00 2001 From: octospacc Date: Fri, 5 Aug 2022 16:27:02 +0200 Subject: [PATCH] Agg. PicoBlog; Nuova sezione Note + 1 post --- Pages/Categories/MicroBlog.md | 6 +- Pages/Categories/Note.md | 7 +++ Pages/PicoBlog.md | 5 ++ ...-Evitare-Comandi-Richiamati-Per-Sbaglio.md | 59 +++++++++++++++++++ 4 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 Pages/Categories/Note.md create mode 100644 Posts/Notes/Linux/2022-08-05-Evitare-Comandi-Richiamati-Per-Sbaglio.md diff --git a/Pages/Categories/MicroBlog.md b/Pages/Categories/MicroBlog.md index 1d3247b..e3aaaa2 100644 --- a/Pages/Categories/MicroBlog.md +++ b/Pages/Categories/MicroBlog.md @@ -1,8 +1,8 @@ -// Title: 📝️ MicroBlog -// HTMLTitle: 📝️ MicroBlog +// Title: 📒 MicroBlog +// HTMLTitle: 📒 MicroBlog // Index: True -# 📝️ MicroBlog +# 📒 MicroBlog _Nota: I contenuti negli archivi possono aver subito redazioni non segnalate._ diff --git a/Pages/Categories/Note.md b/Pages/Categories/Note.md new file mode 100644 index 0000000..3a583bf --- /dev/null +++ b/Pages/Categories/Note.md @@ -0,0 +1,7 @@ +// Title: 📝️ Note +// HTMLTitle: 📝️ Note +// Index: True + +# 📝️ Note + +
[HTML:Category:Note]
diff --git a/Pages/PicoBlog.md b/Pages/PicoBlog.md index e16c009..55c5cf6 100644 --- a/Pages/PicoBlog.md +++ b/Pages/PicoBlog.md @@ -24,6 +24,11 @@ Tieni a mente che le pubblicazioni più recenti vanno sempre in cima, facendo sc
+
+[2022-08-05] Il Miiverso +Un [video YT](https://yewtu.be/watch?v=JjQDik3yNhA){[:MdTgtBlank:]} ha fatto tornare Miiverse alla mia memoria, social network di Nintendo che fu chiuso. Poi mi viene in mente che la community tentò di ricrearlo e.. scopro che il progetto [rverse](https://libredd.it/r/3dshacks/comments/l4klae/miiverse_patch_to_make_it_work_again_rverse/gmyx2e4/?context=3){[:MdTgtBlank:]} è in vita. E funziona! Ho di nuovo Miiverse! +
+
[2022-08-02] C. Una sola lettera, ma quante rogne. Dall'altro giorno sto provando a scrivere [questo giochino](https://gitlab.com/octospacc/BloccSpacc){[:MdTgtBlank:]}, non dico il perché o perché ho scelto C qui, altrimenti fo il papiro. diff --git a/Posts/Notes/Linux/2022-08-05-Evitare-Comandi-Richiamati-Per-Sbaglio.md b/Posts/Notes/Linux/2022-08-05-Evitare-Comandi-Richiamati-Per-Sbaglio.md new file mode 100644 index 0000000..2c98e47 --- /dev/null +++ b/Posts/Notes/Linux/2022-08-05-Evitare-Comandi-Richiamati-Per-Sbaglio.md @@ -0,0 +1,59 @@ +// Categories: Note +// CreatedOn: 2022-08-05 + +# Evitare di richiamare comandi per sbaglio nel terminale + +Lavorando nel terminale, magari allo sviluppo di programmi, mi capita spesso di richiamare per sbaglio un comando che non dovrei. + +Ciò mi succede perché lavoro in questo modo: modifico qualcosa nella finestra del mio editor di testo di fiducia, quindi passo alla finestra del terminale, e premo `[Freccia Su]` (che richiama l'ultimo comando eseguito) ed `[Invio]` per eseguirlo. + +Quello che ho notato è che certe volte, nella fretta, mi capita di premere una volta di troppo `[Freccia Su]`, cosa che richiama il penultimo comando eseguito, o quello ancora prima. +Visto che praticamente queste sequenze di azioni le faccio quasi in automatico, senza leggere per accertarmi che il comando selezionato sia effettivamente quello che voglio prima di premere `[Invio]` (perché solo quello mi aspetto), accade diverse volte che io esegua un comando che non dovrei: spesso, si tratta del comando per fare un commit Git delle mie modifiche alla cartella di lavoro, e subito caricarle in cloud. + +Ora, questa cosa non va bene, perché significa che nella cronologia di Git avrò certi punti "sbagliati": con descrizioni dal testo duplicato, e il codice in uno stato inadatto, non funzionante, perché ero nel pieno di testare alcune modifiche. +Avere una cronologia di Git così conciata intacca decisamente la sua qualità, perché è più difficile trovare un punto specifico passato del codice in futuro, cosa che nullifica una delle funzionalità utili di Git - e in generale è qualcosa che non mi piace, mi da fastidio, vedere la cronologia sporca. + +## Lo script + +Per risolvere il problema, mi sono inventata questo scriptino, l'idea è di avviare i comandi "pericolosi" attraverso di lui nelle situazioni in cui devo fare quelle mie mosse con il terminale (ma, volendo, lo si può impostare come alias per richiamarlo in maniera implicita sempre per un dato comando). + +
+Profile="~/.bashrc"
+
+a=${RANDOM: -1}
+b=${RANDOM: -1}
+
+echo "[!] Confirm your command"
+echo "$a + $b ?"
+read Input
+
+if [ "$Input" -eq "$((a+b))" ] 2>/dev/null
+then
+	$SHELL -c "source "$Profile"; $@"
+else
+	echo "[!] Wrong input"
+fi
+
+ +## Come si usa + +Ho salvato il codice all'interno di una funzione `function comconf() { }` nel mio file di profilo bash. +Ora, quando devo eseguire un comando marso, mi basta fare `comconf ''`; il programma mi chiederà di scrivere il risultato di un'operazione aritmetica semplice generata casualmente, e solo se ciò che scrivo è giusto (quindi, solo se sto prestando attenzione) il mio comando verrà eseguito. + +
+$ # Esempio
+$ comconf 'echo "Prova"; echo "Provina"'
+[!] Confirm your command
+1 + 3 ?
+4
+Prova
+Provina
+$
+
+ +--- + +Lo script ha qualche aspetto strano, per esempio il fatto che non funziona se eseguito direttamente dalla shell corrente (ed è per questo che esegue il comando desiderato in un altro processo di shell, con l'argomento `-c`). Per questo motivo, devo anche caricare esplicitamente il mio file di profilo nella nuova shell, perché non viene fatto in automatico e lì ho altri alias e funzioni che mi servono. +Come se non bastasse, se non uso i singoli apici per racchiudere il comando che voglio chiamare, se questo contiene altri apici è come se questi venissero ignorati, e quindi il comando finale si può rompere. + +Vabbe, problema risolto ad ogni modo. Niente più incidenti a causa di un `[Freccia Su]` di troppo.