• Re: [OT] Shell che accetta commenti multilinee

    From Christian Surchi@21:1/5 to All on Thu Jul 28 14:50:01 2022
    Il 28/07/2022 14:19 Giancarlo Martini ha scritto:
    Quando faccio script mi capita di dover commentare più di una riga,
    farebbe comodo avere una shell, compatibile con bash, che
    tramite qualche carattere particolare, accetta commenti su più righe.
    Come i caratteri
    /*

    */
    per il C e C++.
    Siete a conoscenza di qualcosa di simile?
    Un caldo saluto :)

    Puoi farlo anche in bash. Per esempio:

    https://www.geeksforgeeks.org/multi-line-comment-in-shell-script/

    ciao
    Christian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Giancarlo Martini@21:1/5 to All on Thu Jul 28 14:40:01 2022
    Quando faccio script mi capita di dover commentare più di una riga, farebbe comodo avere una shell, compatibile con bash, che
    tramite qualche carattere particolare, accetta commenti su più righe.
    Come i caratteri
    /*


    */
    per il C e C++.
    Siete a conoscenza di qualcosa di simile?
    Un caldo saluto :)

    --
    Giancarlo Martini
    (Replace 'AAA' con '@')
    mailto:giancarlomartiniAAAgmail.com

    <div dir="ltr">Quando faccio script mi capita di dover commentare più di una riga, farebbe comodo avere una shell, compatibile con bash, che <div>tramite qualche carattere particolare, accetta commenti su più righe.</div><div>Come i caratteri</div><
    /*</div><div><br></div><div><br></div><div>*/</div><div>per il C e C++.</div><div>Siete a conoscenza di qualcosa di simile?</div><div>Un caldo saluto :)<br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_
    signature"><div dir="ltr"><div>Giancarlo Martini</div><div>(Replace &#39;AAA&#39; con &#39;@&#39;)  <br>mailto:<a href="mailto:giancarlomartiniAAAgmail.com" target="_blank">giancarlomartiniAAAgmail.com</a><br><br><br></div></div></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Giancarlo Martini@21:1/5 to All on Thu Jul 28 14:50:01 2022
    smack

    PS
    Non mi fraintendere :)

    Il giorno gio 28 lug 2022 alle ore 14:41 Christian Surchi < christian@firenze.linux.it> ha scritto:

    Il 28/07/2022 14:19 Giancarlo Martini ha scritto:
    Quando faccio script mi capita di dover commentare più di una riga, farebbe comodo avere una shell, compatibile con bash, che
    tramite qualche carattere particolare, accetta commenti su più righe.
    Come i caratteri
    /*

    */
    per il C e C++.
    Siete a conoscenza di qualcosa di simile?
    Un caldo saluto :)

    Puoi farlo anche in bash. Per esempio:

    https://www.geeksforgeeks.org/multi-line-comment-in-shell-script/

    ciao
    Christian



    --
    Giancarlo Martini
    (Replace 'AAA' con '@')
    mailto:giancarlo.firAAAgmail.com <giancarlomartiniAAAgmail.com>

    <div dir="ltr">smack <div><br></div><div>PS</div><div>Non mi fraintendere :)</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno gio 28 lug 2022 alle ore 14:41 Christian Surchi &lt;<a href="mailto:christian@firenze.linux.
    it">christian@firenze.linux.it</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Il 28/07/2022 14:19 Giancarlo Martini ha scritto:<br>
    &gt; Quando faccio script mi capita di dover commentare più di una riga,<br> &gt; farebbe comodo avere una shell, compatibile con bash, che<br>
    &gt; tramite qualche carattere particolare, accetta commenti su più righe.<br> &gt; Come i caratteri<br>
    &gt; /*<br>
    &gt; <br>
    &gt; */<br>
    &gt; per il C e C++.<br>
    &gt; Siete a conoscenza di qualcosa di simile?<br>
    &gt; Un caldo saluto :)<br>

    Puoi farlo
  • From Alessandro Rubini@21:1/5 to All on Sat Jul 30 23:50:01 2022
    farebbe comodo avere una shell, compatibile con bash, che
    tramite qualche carattere particolare, accetta commenti su piu` righe.

    Non sarebbe compatibile con bash. Gia` bash non e` compatibile con sh
    e non dovrebbe essere usata per gli script :)

    Non vedo dove stia il problema nel mettere un "#" ad ogni riga di
    commento. Gli editor faranno vedere queste righe con il colore dei
    commenti (mentre con altri accrocchi non succede). E, sempre gli editor,
    sono in grado di riallineare il paragrafo mantentendo i marcatori di
    commento al posto giusto.

    Puoi farlo anche in bash. Per esempio:

    https://www.geeksforgeeks.org/multi-line-comment-in-shell-script/

    Il primo accrocchio ("<<comm") e` pericoloso. Da "man bash":

    all lines of the here-document are subjected to parameter ex-
    pansion, command substitution, and arithmetic expansion

    Quindi questo

    #!/bin/bash

    << commento
    se facessi $(echo pio > /tmp/file) creerei un file
    commento

    Mi crea un file. I commenti non devono avere effetti. Questo non e` un commento.

    Il secondo accorcchio (": '") e` meno rischioso. "duepunti" e` il
    comando interno che non fa niente ("does nothing beyond expanding
    arguments and performing any specified redirections"). Quindi duepunti-spazio-apice apre un argomento che puo` essere di piu` righe,
    senza grossi rischi, a meno che non si infilino altri apici dentro il "commento" stesso.

    Rimane che non e` un commento, e chi guarda il codice (compresa la
    colorazione di sintassi degli editor) non lo percepisce come un
    commento.

    Mi spiace, ma quella pagina e` sbagliata, sia perche` da` consigli
    sbagliati sia (ed e` peggio) perche` non spiega cosa significano quei
    caratteri strani -- che non sono commenti.

    Se e` vero che il commento "helps in understanding the code, improves code-readability, and also helps in enhancing the structure of the
    program" quello che *non* bisogna fare e` seguire i consigli che
    seguono.

    saluti
    /alessandro

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Giancarlo Martini@21:1/5 to All on Sun Jul 31 10:40:01 2022
    Grazie Alessandro per la preziosa precisazione.
    Per quanto riguarda l'uso che ne faccio io comunque si limita alla fase di test, quando voglio fare delle prove su un pezzo di codice e non voglio che
    un altro pezzo di codice interferisca.
    Una volta che ho trovato la soluzione che ritengo opportuna per le mie
    esigenze faccio operazione di pulizia ...

    Il giorno sab 30 lug 2022 alle ore 23:42 Alessandro Rubini <rubini@linux.it>
    ha scritto:

    farebbe comodo avere una shell, compatibile con bash, che
    tramite qualche carattere particolare, accetta commenti su piu` righe.

    Non sarebbe compatibile con bash. Gia` bash non e` compatibile con sh
    e non dovrebbe essere usata per gli script :)

    Non vedo dove stia il problema nel mettere un "#" ad ogni riga di
    commento. Gli editor faranno vedere queste righe con il colore dei
    commenti (mentre con altri accrocchi non succede). E, sempre gli editor, sono in grado di riallineare il paragrafo mantentendo i marcatori di
    commento al posto giusto.

    Puoi farlo anche in bash. Per esempio:

    https://www.geeksforgeeks.org/multi-line-comment-in-shell-script/

    Il primo accrocchio ("<<comm") e` pericoloso. Da "man bash":

    all lines of the here-document are subjected to parameter ex-
    pansion, command substitution, and arithmetic expansion

    Quindi questo

    #!/bin/bash

    << commento
    se facessi $(echo pio > /tmp/file) creerei un file
    commento

    Mi crea un file. I commenti non devono avere effetti. Questo non e` un commento.

    Il secondo accorcchio (": '") e` meno rischioso. "duepunti" e` il
    comando interno che non fa niente ("does nothing beyond expanding
    arguments and performing any specified redirections"). Quindi duepunti-spazio-apice apre un argomento che puo` essere di piu` righe,
    senza grossi rischi, a meno che non si infilino altri apici dentro il "commento" stesso.

    Rimane che non e` un commento, e chi guarda il codice (compresa la colorazione di sintassi degli editor) non lo percepisce come un
    commento.

    Mi spiace, ma quella pagina e` sbagliata, sia perche` da` consigli
    sbagliati sia (ed e` peggio) perche` non spiega cosa significano quei caratteri strani -- che non sono commenti.

    Se e` vero che il commento "helps in understanding the code, improves code-readability, and also helps in enhancing the structure of the
    program" quello che *non* bisogna fare e` seguire i consigli che
    seguono.

    saluti
    /alessandro



    --
    Giancarlo Martini
    (Replace 'AAA' con '@')
    mailto:giancarlo.firAAAgmail.com <giancarlomartiniAAAgmail.com>

    <div dir="ltr">Grazie Alessandro per la preziosa precisazione.<div>Per quanto riguarda l&#39;uso che ne faccio io comunque si limita alla fase di test, quando voglio fare delle prove su un pezzo di codice e non voglio che un altro pezzo di codice
    interferisca.</div><div>Una volta che ho trovato la soluzione che ritengo opportuna per le mie esigenze faccio operazione di pulizia ...</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno sab 30 lug 2022 alle ore 23:42
    Alessandro Rubini &lt;<a href="mailto:rubini@linux.it">rubini@linux.it</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">&gt;&gt; farebbe comodo avere una
    shell, compatibile con bash, che<br>
    &gt;&gt; tramite qualche carattere particolare, accetta commenti su piu` righe.<br>

    Non sarebbe compatibile con bash.  Gia` bash non e` compatibile con sh<br>
    e non dovrebbe essere usata per gli script :)<br>

    Non vedo dove stia il problema nel mettere un &quot;#&quot; ad ogni riga di<br> commento.  Gli editor faranno vedere queste righe con il colore dei<br> commenti (mentre con altri accrocchi non succede).  E, sempre gli editor,<br> sono in grado di riallineare il paragrafo mantentendo i marcatori di<br> commento al posto giusto.<br>

    &gt; Puoi farlo anche in bash. Per esempio:<br>
    &gt; <br>
    &gt; <a href="https://www.geeksforgeeks.org/multi-line-comment-in-shell-script/" rel="noreferrer" target="_blank">https://www.geeksforgeeks.org/multi-line-comment-in-shell-script/</a><br>

    Il primo accrocchio (&quot;&lt;&lt;comm&quot;) e` pericoloso. Da &quot;man bash&quot;:<br>

      all lines of the here-document are subjected to  parameter  ex-<br>
      pansion,  command substitution, and arithmetic expansion<br>

    Quindi questo<br>

       #!/bin/bash<br>

       &lt;&lt; commento<br>
         se facessi $(echo pio &gt; /tmp/file) creerei un file<br>
       commento<br>

    Mi crea un file. I commenti non devono avere effetti. Questo non e` un<br> commento.<br>

    Il secondo accorcchio (&quot;: &#39;&quot;) e` meno rischioso. &quot;duepunti&quot; e` il<br>
    comando interno che non fa niente (&quot;does nothing beyond expanding<br> arguments and performing any specified redirections&quot;).  Quindi<br> duepunti-spazio-apice apre un argomento che puo` essere di piu` righe,<br> senza grossi rischi, a meno che non si infilino altri apici dentro il<br> &quot;commento&quot; stesso.<br>

    Rimane che non e` un commento, e chi guarda il codice (compresa la<br> colorazione di sintassi degli editor) non lo percepisce come un<br> commento.<br>

    Mi spiace, ma quella pagina e` sbagliata, sia perche` da` consigli<br> sbagliati sia (ed e` peggio) perche` non spiega cosa significano quei<br> caratteri strani -- che non sono commenti.<br>

    Se e` vero che il commento &quot;helps in understanding the code, improves<br> code-readability, and also helps in enhancing the structure of the<br> program&quot; quello che *non* bisogna fare e` seguire i consigli che<br> seguono.<br>

    saluti<br>
    /alessandro<br>

    </blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Giancarlo Martini</div><div>(Replace &#39;AAA&#39; con &#39;@&#39;)  <br>mailto:<a href="mailto:giancarlomartiniAAAgmail.com" target="_
    blank">giancarlo.firAAAgmail.com</a><br><br></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Giancarlo Martini@21:1/5 to All on Sun Jul 31 12:00:01 2022
    quando edito gli script in bash (o sh che sia) uso vim e quelli che conosco
    li trovo tediosi, rispetto al C.
    L'unico che che uso è esc :inizio,fines/^/# e similare per rimuoverli. Ma
    devo decidere a priori le line e se sono non contigue devo ripetere l'operazione. Ma sarò io fatto male ... :)

    Il giorno dom 31 lug 2022 alle ore 11:27 gerlos <gerlosgm@gmail.com> ha scritto:



    Il dom 31 lug 2022, 10:36 Giancarlo Martini <giancarlo.fir@gmail.com> ha scritto:

    Grazie Alessandro per la preziosa precisazione.
    Per quanto riguarda l'uso che ne faccio io comunque si limita alla fase
    di test, quando voglio fare delle prove su un pezzo di codice e non voglio >> che un altro pezzo di codice interferisca.
    Una volta che ho trovato la soluzione che ritengo opportuna per le mie
    esigenze faccio operazione di pulizia ...


    Scusa, ma non capisco il problema: ormai quasi tutti di editor "seri" ti permettono di commentare/decommentare più righe in blocco aggiungendo o togliendo # - penso a vim, Emacs, gedit, Kate, vscode...

    C'è qualche ragione per cui non vuoi usare gli automatismi del tuo editor
    di testo?

    Saluti
    Gerlos



    --
    Giancarlo Martini
    (Replace 'AAA' con '@')
    mailto:giancarlo.firAAAgmail.com <giancarlomartiniAAAgmail.com>

    <div dir="ltr"><div>quando edito gli script in bash (o sh che sia) uso vim e quelli che conosco li trovo tediosi, rispetto al C.</div><div>L&#39;unico che che uso è esc :inizio,fines/^/# e similare per rimuoverli. Ma devo decidere a priori le line e se
    sono non contigue devo ripetere l&#39;operazione. Ma sarò io fatto male ... :)<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il giorno dom 31 lug 2022 alle ore 11:27 gerlos &lt;<a href="mailto:gerlosgm@gmail.com" target="_
    blank">gerlosgm@gmail.com</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="
    gmail_attr">Il dom 31 lug 2022, 10:36 Giancarlo Martini &lt;<a href="mailto:giancarlo.fir@gmail.com" target="_blank">giancarlo.fir@gmail.com<
  • From gerlos@21:1/5 to All on Sun Jul 31 11:30:01 2022
    Il dom 31 lug 2022, 10:36 Giancarlo Martini <giancarlo.fir@gmail.com> ha scritto:

    Grazie Alessandro per la preziosa precisazione.
    Per quanto riguarda l'uso che ne faccio io comunque si limita alla fase di test, quando voglio fare delle prove su un pezzo di codice e non voglio che un altro pezzo di codice interferisca.
    Una volta che ho trovato la soluzione che ritengo opportuna per le mie esigenze faccio operazione di pulizia ...


    Scusa, ma non capisco il problema: ormai quasi tutti di editor "seri" ti permettono di commentare/decommentare più righe in blocco aggiungendo o togliendo # - penso a vim, Emacs, gedit, Kate, vscode...

    C'è qualche ragione per cui non vuoi usare gli automatismi del tuo editor
    di testo?

    Saluti
    Gerlos

    <div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il dom 31 lug 2022, 10:36 Giancarlo Martini &lt;<a href="mailto:giancarlo.fir@gmail.com">giancarlo.fir@gmail.com</a>&gt; ha scritto:<br></div><blockquote class="gmail_
    quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Grazie Alessandro per la preziosa precisazione.<div>Per quanto riguarda l&#39;uso che ne faccio io comunque si limita alla fase di test, quando voglio fare delle
    prove su un pezzo di codice e non voglio che un altro pezzo di codice interferisca.</div><div>Una volta che ho trovato la soluzione che ritengo opportuna per le mie esigenze faccio operazione di pulizia ...</div></div></blockquote></div></div><div dir="
    auto"><br></div><div dir="auto">Scusa, ma non capisco il problema: ormai quasi tutti di editor &quot;seri&quot; ti permettono di commentare/decommentare più righe in blocco aggiungendo o togliendo # - penso a vim, Emacs, gedit, Kate, vscode... </div><
    div dir="auto"><br></div><div dir="auto">C&#39;è qualche ragione per cui non vuoi usare gli automatismi del tuo editor di testo?</div><div dir="auto"><br></div><div dir="auto">Saluti</div><div dir="auto">Gerlos</div><div dir="auto"><br></div><div dir="
    auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
    </blockquote></div></div></div>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gerlos@21:1/5 to All on Mon Aug 1 16:10:01 2022
    Il giorno 31 lug 2022, alle ore 11:51, Giancarlo Martini <giancarlo.fir@gmail.com> ha scritto:

    quando edito gli script in bash (o sh che sia) uso vim e quelli che conosco li trovo tediosi, rispetto al C.
    L'unico che che uso è esc :inizio,fines/^/# e similare per rimuoverli. Ma devo decidere a priori le line e se sono non contigue devo ripetere l'operazione. Ma sarò io fatto male ... :)

    Con vim puoi, più rapidamente, usare ^ per spostarti ad inizio riga e usare I (i maiuscola) seguito da # per commentare una singola linea o digitare x per decommentarla.

    Ed eventualmente puoi spostarti e ripetere l’azione con . (punto)

    Per i blocchi di righe io uso di solito la selezione visuale: prima vado ad inizio riga con ^, poi uso Ctrl-V, sposto il cursore per marcare le righe da modificare, e poi uso I seguito da # ed ESC per commentare o x per decommentare.

    Non mi sembra particolarmente tedioso, ma capisco che siano gusti.

    Ad ogni modo, magari ti puoi trovare meglio con il plugin commentary: https://github.com/tpope/vim-commentary

    happy coding!
    gerlos

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Teodoro Santoni@21:1/5 to All on Sat Aug 6 16:10:01 2022
    Il 31/07/22, Giancarlo Martini<giancarlo.fir@gmail.com> ha scritto:
    quando edito gli script in bash (o sh che sia) uso vim e quelli che conosco li trovo tediosi, rispetto al C.
    L'unico che che uso è esc :inizio,fines/^/# e similare per rimuoverli. Ma devo decidere a priori le line e se sono non contigue devo ripetere l'operazione. Ma sarò io fatto male ... :)

    Mi ero aggiustato all'uopo con selezione visuale riga (V) e
    successivamente :norm I# ma mi sta più simpatico l'here document vuoto
    che non conoscevo.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Teodoro Santoni@21:1/5 to All on Sat Aug 6 16:20:01 2022
    Il 30/07/22, Alessandro Rubini<rubini@linux.it> ha scritto:
    farebbe comodo avere una shell, compatibile con bash, che
    tramite qualche carattere particolare, accetta commenti su piu` righe.

    Non sarebbe compatibile con bash. Gia` bash non e` compatibile con sh
    e non dovrebbe essere usata per gli script :)

    Non vedo dove stia il problema nel mettere un "#" ad ogni riga di
    commento. Gli editor faranno vedere queste righe con il colore dei
    commenti (mentre con altri accrocchi non succede). E, sempre gli editor, sono in grado di riallineare il paragrafo mantentendo i marcatori di
    commento al posto giusto.

    Puoi farlo anche in bash. Per esempio:

    https://www.geeksforgeeks.org/multi-line-comment-in-shell-script/

    Il primo accrocchio ("<<comm") e` pericoloso. Da "man bash":

    all lines of the here-document are subjected to parameter ex-
    pansion, command substitution, and arithmetic expansion

    Quindi questo

    #!/bin/bash

    << commento
    se facessi $(echo pio > /tmp/file) creerei un file
    commento

    Mi crea un file. I commenti non devono avere effetti. Questo non e` un commento.

    Il secondo accorcchio (": '") e` meno rischioso. "duepunti" e` il
    comando interno che non fa niente ("does nothing beyond expanding
    arguments and performing any specified redirections"). Quindi duepunti-spazio-apice apre un argomento che puo` essere di piu` righe,
    senza grossi rischi, a meno che non si infilino altri apici dentro il "commento" stesso.

    Rimane che non e` un commento, e chi guarda il codice (compresa la colorazione di sintassi degli editor) non lo percepisce come un
    commento.

    Mi spiace, ma quella pagina e` sbagliata, sia perche` da` consigli
    sbagliati sia (ed e` peggio) perche` non spiega cosa significano quei caratteri strani -- che non sono commenti.

    Se e` vero che il commento "helps in understanding the code, improves code-readability, and also helps in enhancing the structure of the
    program" quello che *non* bisogna fare e` seguire i consigli che
    seguono.

    È vero che è un accrocchio, rompe gli editor e nel link non spiegano
    niente (penso che neanche capiscano loro stessi che cosa servano certe
    cose, chi sa fa chi non sa insegna), ma l'argomento sicurezza è un'esagerazione. Intanto here-doc e true con argomenti sono
    equivalenti sull'essere exploitabili tramite $(), ma ormai gli script
    shell per gli usi di distribuzione non servono più, rimane solo il
    linguaggio degli accrocchi che uno si fa per sè.
    Un antico adagio diceva che UNIX non ti ferma dallo spararti nei
    piedi, se è ciò che vuoi UNIX conficcherà il proiettile nel tuo piede
    nella maniera più efficiente.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Alessandro Rubini@21:1/5 to All on Tue Aug 9 09:10:02 2022
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Beppe Cantanna@21:1/5 to All on Fri Sep 15 17:40:01 2023
    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.*

    http://en.wikipedia.org/wiki/OpenDocument <http://en.wikipedia.org/wiki/OpenDocument>
    ​ ​
    http://it.wikipedia.org/wiki/OpenDocument


    *​*http://www.documentfoundation.org/
    * ​ *https://it.libreoffice.org/
    ​ ​

    <div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">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. <br></div><div class="gmail_default" style="font-family:courier new,monospace"><br></div><div class="gmail_default" style="font-family
  • From Davide Prina@21:1/5 to All on Sun Sep 17 15:10:01 2023
    Beppe Cantanna ha scritto:

    disabilitare intere parti di codice di uno script senza
    dover mettere il carattere # a inizio di ogni riga

    https://stackoverflow.com/questions/43158140/way-to-create-multiline-comments-in-bash

    Ciao
    Davide

    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribute under AGPL license >= 3.0 all the model trained, all the source you have used to
    training your model and all the source of the program that use that model

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Beppe Cantanna@21:1/5 to All on Sun Sep 17 18:50:01 2023
    Ciao Davide,
    il link che hai messo mi pare riporti più o meno gli stessi metodi del link suggerito da Christian Surchi qualche mail fa (il thread effettivamente è vecchiotto) dove viene mostrato l'uso del costrutto <<EOF e del carattere : seguito da apici singoli. In risposta a quei suggerimenti qualcuno aveva sollevato obiezioni in quanto in certi casi se non si presta attenzione si rischia di eseguire del codice che si pensava di aver commentato.

    Il mio intervento era più relativo al commentare/disabilitare comodamente blocchi di codice, che all'inserimento di note su più linee. Per altro sono anche io dell'idea che se si vogliono inserire dei commenti utili a rendere più chiaro il listato soprattutto se si tratta di note brevi, tipo:

    # ora faccio questo
    # ora faccio quello perché mi serve per ...

    è molto meglio utilizzare il solito carattere #.

    Diverso è il caso in cui si vogliono disabilitare velocemente parti di
    codice anche molto ampie, dove appunto l'uso del <<EOF può nascondere
    sorprese che invece il metodo della subshell non dovrebbe avere:

    IstruzEseguit01
    IstruzEseguit02

    # blocco disabilitato con subshell
    (exit
    comando01
    ...
    comandoNMillesimo
    )

    IstruzEseguit03


    Per quanto riguarda l'uso del : seguito dagli apici singoli, forse
    potrebbe cozzare con altre definizioni di stringhe presenti nel blocco da racchiudere. Quindi nella maggior parte dei casi può andare bene ma anche
    lì bisogna fare attenzione.

    Mentre la parte in cui nel link che hai inoltrato viene proposto l'uso di
    una funzione che non viene mai richiamata, alla fine è un po' come il
    metodo della subshell dove al posto di scrivere una sola parentesi tonda seguita da exit si propone di scrivere:

    function giveitauniqename()
    {
    ...
    }

    Beh allora faccio prima così:

    (exit
    ...
    )

    Ma più che altro non è che stessi chiedendo una soluzione che tu hai gentilmente tentato di fornire, poiché quella che ho buttato lì mi pare già funzioni, ma ho semplicemente condiviso il mio approccio in modo da
    ricevere eventualmente qualche commento che mi facesse notare rischi a me
    non evidenti così come era stato fatto in risposta al messaggio di Surchi.


    Un Saluto.


    Il giorno dom 17 set 2023 alle ore 16:25 Davide Prina <Davide.Prina@null.net> ha scritto:

    Beppe Cantanna ha scritto:

    disabilitare intere parti di codice di uno script senza
    dover mettere il carattere # a inizio di ogni riga


    https://stackoverflow.com/questions/43158140/way-to-create-multiline-comments-in-bash

    Ciao
    Davide

    --
    La mia privacy non è affar tuo
    https://noyb.eu/it
    - You do not have my permission to use this email to train an AI -
    If you use this to train your AI than you accept to distribute under AGPL license >= 3.0 all the model trained, all the source you have used to training your model and all the source of the program that use that model



    --
    *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.*

    http://en.wikipedia.org/wiki/OpenDocument <http://en.wikipedia.org/wiki/OpenDocument>
    ​ ​
    http://it.wikipedia.org/wiki/OpenDocument


    *​*http://www.documentfoundation.org/
    * ​ *https://it.libreoffice.org/
    ​ ​

    <div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">Ciao Davide,</div><div class="gmail_default" style="font-family:courier new,monospace">il link che hai messo mi pare riporti più o meno gli stessi metodi del link
    suggerito da Christian Surchi qualche mail fa (il thread effettivamente è vecchiotto) dove viene mostrato l&#39;uso del costrutto &lt;&lt;EOF e del carattere : seguito da apici singo
  • From Piviul@21:1/5 to Beppe Cantanna on Fri Sep 22 10:00:01 2023
    This is a multi-part message in MIME format.
    On 9/15/23 17:31, Beppe Cantanna wrote:
    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 /* ... */.

    Grazie Beppe, ne farò buon uso

    Piviul

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
    <div class="moz-cite-prefix">On 9/15/23 17:31, Beppe Cantanna wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CAJpc+dWA=WjcXGvo8S6U=om4Kc=eyevT8AKZ8+u-uYRDtKUq2w@mail.gmail.com">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <div dir="ltr">
    <div class="gmail_default" style="font-family:courier
    new,monospace">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. <br>
    </div>
    <div class="gmail_default" style="font-family:courier
    new,monospace"><br>
    </div>
    <div class="gmail_default" style="font-family:courier
    new,monospace">Esempio:</div>
    <div style="margin-left:40px"><span class="gmail_default"
    style="font-family:courier new,monospace"></span></div>
    <div style="margin-left:40px">
    <div style="font-family:courier new,monospace"
    class="gmail_default">~$ cat ./test01.sh<br>
    #!/bin/bash<br>
    <br>
    VAR=5<br>
    <br>
    (exit<br>
    echo "Parte DISABILITATA"<br>
    echo "Parte DISABILITATA"<br>
    echo "Parte DISABILITATA"<br>
    echo "Parte DISABILITATA"<br>
    echo "Parte DISABILITATA"<br>
    VAR=10<br>
    echo "Parte che se non è DISABILITATA distrugge tutto"<br>
    sudo rm -fr /<br>
    )<br>
    <br>
    echo "VAR: ${VAR}"<br>
    echo "Parte eseguita"<br>
    </div>
    <br>
    </div>
    <div style="margin-left:40px">
    <div style="font-family:courier new,monospace"
    class="gmail_default">~$ ./test01.sh <br>
    VAR: 5<br>
    Parte eseguita<br>
    </div>
    <br>
    </div>
    <div class="gmail_default" style="font-family:courier
    new,monospace"><br>
    </div>
    <div class="gmail_default" style="font-family:courier
    new,monospace">In pratica si crea una subshell nella quale si
    entra e si esce subito senza eseguire nulla di nulla.</div>
    <div class="gmail_default" style="font-family:courier
    new,monospace"><br>
    </div>
    <div class="gmail_default" style="font-family:courier
    new,monospace">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 /* ...
    */.<br>
    </div>
    </div>
    </blockquote>
    <p><font size="1">Grazie Beppe, ne farò buon uso<br>
    </font></p>
    <p><font size="1">Piviul<br>
    </font></p>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)