Một thiết bị đầu cuối không chỉ chấp nhận mã một dòng. Trên thực tế, bạn có thể viết mã (vì bash scripting là ngôn ngữ lập trình) trong nhiều dòng.
Ví dụ: nếu bạn viết:
while true; do <enter>
nó cũng sẽ hiển thị chính xác giống như >
trường hợp của bạn. Nó cho phép bạn nhập nhiều lệnh hơn. Bây giờ, nếu bạn gõ vào:
echo "Cake is a lie" <enter>
sleep 1 <enter>
done <enter>
nó sẽ bắt đầu chạy mã của bạn (trong trường hợp này, nó chỉ đơn giản là một vòng lặp while sẽ tạo ra một chuỗi cứ sau 1 giây). Điều này cho phép bạn xây dựng các chương trình nhỏ mà không phải viết chúng bằng mã một dòng, như thế này:
while true; do echo "Cake is a lie"; sleep 1; done
trong trường hợp này, đó không phải là một vấn đề như vậy, nhưng nó có thể, trong những trường hợp khác (với nhiều mã được viết hơn).
Vì vậy, nó thường được sử dụng để viết nhiều dòng mã. Trong trường hợp của bạn, trình bao nhận ra rằng bạn không có số chẵn '
trong mã của mình và điều này không thể hoạt động trong mọi trường hợp (áp dụng tương tự cho "
). Vì vậy, nó cho phép bạn viết thêm mã để hoàn thành những gì bạn còn lại.
Ví dụ: nếu bạn đưa ra dưới dạng lệnh:
echo "Cake is a <enter>
sau đó nó sẽ cho phép bạn tiếp tục. Và thực sự, bạn có thể:
lie" <enter>
Nó thường sẽ xuất ra:
Cake is a
lie