Un terminal n'accepte pas seulement le code à une ligne. En fait, vous pouvez écrire du code (car le script bash est un langage de programmation) sur plusieurs lignes.
Par exemple, si vous écrivez:
while true; do <enter>
il montrera également exactement la même chose >que votre cas. Il vous permet de saisir plus de commandes. Maintenant, si vous tapez:
echo "Cake is a lie" <enter>
sleep 1 <enter>
done <enter>
il commencera à exécuter votre code (qui, dans ce cas, est simplement une boucle while qui produira une chaîne toutes les 1 seconde). Cela vous permet de créer de petits programmes sans avoir à les écrire dans du code sur une seule ligne, comme ceci:
while true; do echo "Cake is a lie"; sleep 1; done
ce qui, dans ce cas, n'est pas un tel problème, mais il pourrait l'être, dans d'autres occasions (avec plus de code à écrire).
Ainsi, il est généralement utilisé pour écrire plusieurs lignes de code. Dans votre cas, le shell reconnaît que vous n'avez pas un nombre pair de l' 'intérieur de votre code, et cela ne pourrait en aucun cas fonctionner (la même chose s'applique pour "). Donc, cela vous permet d'écrire plus de code afin de terminer ce que vous avez laissé.
Par exemple, si vous donnez comme commande:
echo "Cake is a <enter>
alors il vous permettra de continuer. Et en effet, vous pouvez:
lie" <enter>
Il produira normalement:
Cake is a
lie