GNU/Linux >> Linux Esercitazione >  >> Linux

Come commentare in Bash

Introduzione

I commenti nello scripting bash e nella programmazione in generale aiutano a rendere un programma più facile da capire. Quando un programma viene eseguito, l'interprete ignora le righe commentate. Tuttavia, i commenti aiutano con la leggibilità generale del programma.

Quando si esamina il codice in un secondo momento, è utile avere spiegazioni descrittive e preziose su ciò che fa il codice. Commentare il codice per un uso successivo è una pratica comune ed è una parte essenziale della programmazione e degli script bash.

Questo tutorial mostra come utilizzare i commenti e le migliori pratiche per la creazione di commenti negli script bash.

Prerequisiti

  • Un sistema che esegue Linux.
  • Accesso alla riga di comando/terminale.
  • Un editor di testo, come Vi/Vim.

Come commentare in Bash

Quando si scrivono script bash, qualsiasi testo dopo un segno hash (# ) indica l'inizio di un commento e qualsiasi testo dopo # nella stessa riga non viene eseguito.

Quando si utilizza un editor di testo o un IDE, i commenti sono colorati in modo diverso dal resto del codice. Sono facili da notare e da cercare in codici più estesi.

L'unica eccezione è lo shebang (#! ), che si trova in genere sulla prima riga dello script. Shebang dice al sistema operativo quale interprete utilizzare per il codice.

I commenti in linea dopo lo shebang danno come risultato "Nessun file o directory di questo tipo " errore.

Riga singola e commento Bash in linea

Sia i commenti a riga singola che quelli inline negli script bash iniziano con il segno hash (# ):

# This is a comment

Lo spazio aggiuntivo dopo il segno non è necessario. Tuttavia, aiuta con la leggibilità.

Segui l'esempio seguente per creare uno script con commenti:

1. Apri il terminale (CTRL +ALT +T ) e creare uno script utilizzando Vi:

vi comment.sh

2. Aggiungi il seguente codice:

# A comment is considered a single line if you do not press Enter. Below is the shebang, indicating the script uses the bash shell.
#!/bin/bash
# This is a single line comment above a command.
echo "Hello world!" # This is an inline comment.
# This is a single line comment below a command.

Lo script include le seguenti righe:

  • Riga 1 è un commento Bash a riga singola. Visivamente, l'istruzione si estende su due righe.
  • Riga 2 è lo shebang. Lo script viene eseguito utilizzando l'interprete della shell Bash, che si trova in /bin/bash .
  • Righe 3 e 5 sono anche commenti a riga singola prima e dopo un comando, rispettivamente.
  • Riga 4 è un semplice comando eco con un commento in linea.

3. Salva e chiudi Vi:

:wq

4. Modifica le autorizzazioni dello script in eseguibile:

chmod +x comment.sh

5. Infine, esegui lo script con:

./comment.sh

I commenti non vengono visualizzati durante l'esecuzione dello script .

Commento Bash multilinea e blocco

Per creare commenti bash su più righe, inizia ogni riga con il segno cancelletto (# ):

# This is the first line
# This is the second line

Un altro modo non convenzionale per creare commenti a blocchi multilinea consiste nell'usare il comando bash null (: ) insieme alla notazione heredoc:

: << 'COMMENT'
This is the first line
This is the second line
COMMENT

Fondamentalmente, bash non supporta i commenti a blocchi. Questo metodo funziona come un hack se un commento di blocco è essenziale per un caso specifico.

Prova l'esempio seguente per vedere come funzionano i commenti multilinea e di blocco negli script bash:

1. Apri il terminale (CTRL +ALT +T ) e crea uno script di shell usando Vi:

vi multiline.sh

2. Copia e incolla il seguente codice:

: << 'COMMENT'
This is a multiline block comment
using the single quote heredoc
and bash null command.
COMMENT
echo "Hello world!"
# This is a multiline comment
# using the single line notation.

Il codice esegue le seguenti operazioni:

  • Riga 1 e 5 sono i delimitatori heredoc.
  • Righe 2-4 sono i contenuti del commento del blocco.
  • Riga 6 è l'echo comando.
  • Righe 7-8 sono più commenti a riga singola, che fungono da commenti a più righe.

3. Salva il file e chiudi Vi:

:wq

4. Modifica le autorizzazioni dello script in eseguibile:

chmod +x multiline.sh

5. Infine, esegui lo script per vedere l'output:

./multiline.sh

L'output del terminale mostra solo il risultato in echo comando, mentre le righe commentate non vengono visualizzate.

Best practice e suggerimenti per i commenti Bash

Sebbene non ci siano regole specifiche per commentare in bash, alcune pratiche sono utili quando si usano i commenti. Queste pratiche e suggerimenti intendono aiutarti a ottenere il massimo dai commenti in bash.

1. Includi un'intestazione di file

Tutti gli script che non sono così evidenti a prima vista dovrebbero includere un'intestazione di file. L'intestazione ha diversi scopi:

  • Spiega a colpo d'occhio cosa fa il codice.
  • Indica la paternità.
  • Spiega l'avviso di licenza e fornisce la dichiarazione di autorizzazione per il codice protetto da copyright.

Usa i commenti all'inizio di un codice per spiegare questi punti. Inoltre, se un codice fa parte di un progetto, includi il nome del progetto.

2. Evita i commenti bloccati non convenzionali

Sebbene i commenti di blocco siano possibili negli script bash, è una cattiva abitudine usarli. Il codice non è facilmente visibile come un normale commento perché gli editor di testo non li rendono come commenti. Inoltre, la ricerca è molto più semplice quando è presente una sintassi di commento unificata.

3. Evita commenti lunghi e inutili

Mantieni i commenti il ​​più brevi possibile e al punto. La verbosità non è necessaria e rende il codice più difficile da leggere.

Allo stesso modo, commenta solo il codice che è difficile da capire. Un commento su un semplice echo comando non è necessario, mentre il codice che utilizza un'istruzione regex complessa richiede una rapida indicazione di ciò che fa.

4. Commenti e funzioni

Tutte le funzioni bash beneficiano di commenti che spiegano lo scopo, gli input e gli output previsti. L'eccezione sono brevi pezzi di codice che sono evidenti.

Indicare quanto segue per ciascuna funzione:

  • Breve descrizione dell'operazione.
  • Un elenco di variabili globali o modificate.
  • Gli argomenti di input previsti.
  • Ciò che il processo invia al terminale.
  • I valori di ritorno previsti.

Di seguito è riportato un esempio di una funzione che documenta ciascuno dei punti precedenti:

PREFIX="Hello "
#### FUNCTION BEGIN
# Prints a greeting
# GLOBALS: 
# 	PREFIX
# ARGUMENTS: 
# 	Name as a String to use for greeting
# OUTPUTS: 
# 	Writes String to STDOUT
# RETURN: 
# 	0 if success, non-zero otherwise.
### FUNCTION END
function () {
	echo "${PREFIX}: $1!"
}

Adatta l'esempio al tuo caso d'uso.

5. Etichetta in modo coerente

Utilizzare i commenti per etichettare il codice che deve essere migliorato, implementato o modificato. Crea un'etichetta di commento coerente per un'attività diversa per semplificare la ricerca nei commenti.

Ad esempio, inizia e termina ogni spiegazione di funzione con # FUNCTION BEGIN oppure aggiungi # TODO commenti per compiti futuri. Allo stesso modo, decidi le etichette che ti sembrano adatte e mantieni la coerenza per tutto il codice.


Linux
  1. Come eseguire il debug di uno script Bash?

  2. Come aggiungere un utente Unix/linux in uno script Bash?

  3. Come rilevare Bash>=4.0?

  4. In Bash, come aggiungo una stringa dopo ogni riga in un file?

  5. Bash - Come stampare stringhe multilinea (con '\n') usando printf

Come commentare in Python

Come leggere un file riga per riga in Bash

Come visualizzare la cronologia di Bash senza numeri di riga

Come commentare più righe contemporaneamente in Vim Editor

Come eseguire uno script Bash

Come posso modificare le righe precedenti in un comando a più righe in Bash?