linguaggio - bash linux



"While:" vs. "while true" (2)

Il colon è un comando incorporato che non fa nulla, ma restituisce 0 (successo). Quindi, è più breve (e più veloce) che chiamare un comando effettivo per fare la stessa cosa.

https://src-bin.com

Questa domanda ha già una risposta qui:

Quando osservi come si dovrebbero implementare infiniti cicli, per la maggior parte vedi questo approccio:

while :
do
  # loop infinitely
done

Ma non capisco l'uso di : qui. Non sarebbe meglio usare:

while true
do
  # loop infinitely
done

?


Answer #1

dal manuale:

: [argomenti] Nessun effetto; il comando non fa altro che ampliare gli argomenti ed eseguire qualsiasi reindirizzamento specificato. Viene restituito un codice di uscita zero.

Siccome questo ritorna sempre zero, quindi è simile a essere usato come true

Dai un'occhiata a questa risposta: Qual è lo scopo del `: '(due punti) GNU Bash Builtin?





bash