Un terminale non accetta solo un codice di una riga. In realtà, puoi scrivere il codice (poiché lo script bash è un linguaggio di programmazione) su più righe.
Ad esempio, se scrivi:
while true; do <enter>
mostrerà esattamente lo stesso >
che ha mostrato anche al tuo caso. Ti permette di inserire più comandi. Ora, se si digita:
echo "Cake is a lie" <enter>
sleep 1 <enter>
done <enter>
inizierà l'esecuzione del codice (che, in questa occasione, è semplicemente un ciclo while che genererà una stringa ogni 1 secondo). Ciò ti consente di creare piccoli programmi senza doverli scrivere nel codice di una riga, come questo:
while true; do echo "Cake is a lie"; sleep 1; done
che, in questo caso, non è un tale problema, ma potrebbe esserlo, in altre occasioni (con più codice da scrivere).
Quindi, viene generalmente utilizzato per scrivere più righe di codice. Nella tua occasione, la shell riconosce che non hai un numero pari '
all'interno del tuo codice e questo non può funzionare in nessun caso (lo stesso vale per "
). Quindi, ti consente di scrivere più codice per completare ciò che ti rimane.
Ad esempio, se si dà come comando:
echo "Cake is a <enter>
allora ti permetterà di continuare. E infatti puoi:
lie" <enter>
Normalmente produrrà:
Cake is a
lie