[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Shell che accetta commenti multilinee



Un accrocchio comodo per disabilitare intere parti di codice di uno script senza dover mettere il carattere # a inizio di ogni riga, trovo sia racchiuderlo fra parentesi facendo seguire la prima dal comando exit.

Esempio:
~$ cat ./test01.sh
#!/bin/bash

VAR=5

(exit
echo "Parte DISABILITATA"
echo "Parte DISABILITATA"
echo "Parte DISABILITATA"
echo "Parte DISABILITATA"
echo "Parte DISABILITATA"
VAR=10
echo "Parte che se non è DISABILITATA distrugge tutto"
sudo rm -fr /
)

echo "VAR: ${VAR}"
echo "Parte eseguita"

~$ ./test01.sh
VAR: 5
Parte eseguita


In pratica si crea una subshell nella quale si entra e si esce subito senza eseguire nulla di nulla.

Mi serve non tanto per spiegare cosa fa il codice ma solo per disabilitarlo o abilitarlo comodamente come quando racchiudiamo parte del listato fra i caratteri /* ... */.

Il giorno mar 9 ago 2022 alle ore 09:09 Alessandro Rubini <rubini@linux.it> ha scritto:
>> Il primo accrocchio ("<<comm") e` pericoloso. [...]
>> [...] I commenti non devono avere effetti. Questo non e` un
>> commento.

> ma l'argomento sicurezza e`
> un'esagerazione. [...] essere exploitabili [...]

Mai parlato di sicurezza e di attacchi. E` pericoloso quando dici al
programmatore che un costrutto e` un commento e invece non lo e` (si
tratta di un costrutto che ha pochi effetti per motivi non spiegati
dall'autore dell'articolo). Perche` nei commenti puoi scrivere di
tutto, compreso codice.  Se io scrivo una cosa nel commento e questo
ha effetti mi faccio del male. O lo faccio ai miei utenti.

Piuttosto, se proprio si vuole scrivere roba con pochi effetti, meglio
fare

  echo 'non sono un commento ma potrei essere multi-riga' > /dev/null

Almeno tutti conoscono il costrutto, rispetto a << o :. Eviterei
comunque, ma spero di aver reso l'idea. E se non ci riesco amen.

Buona giornata e buone ferie passate o future a tutti.



--
CANTANNA Giuseppe
cel. +39 349 1998700
giuseppe.cantanna@glugto.org
cantanna@glugto.org
cantanna@gmail.com


bproot.bc - Linux user n. 502620 registered on http://counter.li.org/
Nodo NINUX: broot.

Per favore non inviatemi allegati in formato MS Office.
​​
Utilizza
​te​
 alternativamente documenti in formato OpenDocument.

Reply to: