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 :)
/*</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 'AAA' con '@') <br>mailto:<a href="mailto:giancarlomartiniAAAgmail.com" target="_blank">giancarlomartiniAAAgmail.com</a><br><br><br></div></div></div></div></div>
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
farebbe comodo avere una shell, compatibile con bash, che
tramite qualche carattere particolare, accetta commenti su piu` righe.
Puoi farlo anche in bash. Per esempio:
https://www.geeksforgeeks.org/multi-line-comment-in-shell-script/
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
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
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 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 ... :)
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 ... :)
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.
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 [...]
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.
disabilitare intere parti di codice di uno script senza
dover mettere il carattere # a inizio di ogni riga
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
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 /* ... */.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 297 |
Nodes: | 16 (2 / 14) |
Uptime: | 07:06:57 |
Calls: | 6,666 |
Files: | 12,213 |
Messages: | 5,336,105 |