'(Trích dẫn đơn) làm gì trong thiết bị đầu cuối?


8

Nếu tôi gõ '(trích dẫn đơn, bên cạnh <enter>nút) trong thiết bị đầu cuối và sau đó nhấn enter, nó sẽ rơi xuống một >dấu nhắc. Chính xác thì đây là cái gì, nó dùng để làm gì và tôi có thể nhập loại lệnh nào ở đây?

Tôi có thể <Ctrl-C>thoát khỏi nó nhưng đó là tất cả những gì tôi có.

Câu trả lời:


6

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 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

Tôi hiểu rồi, vì vậy thay vì đưa cho tôi một thông báo lỗi, nó cho tôi cơ hội hoàn thành lệnh một cách thông minh. Có một tên cho "chế độ" này?
Insperatus

2
Tôi không nghĩ rằng nó có một cái tên đặc biệt, nó thường được gọi là 'dấu nhắc phụ'
hytromo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.