Có nghĩa là những gì lv 'có nghĩa là trong Linux?


13

Tôi vô tình gõ ls'và tôi có một giao diện tương tác: > Đây là gì?

Tôi đã thử tìm kiếm trên internet, không tìm thấy gì.

Câu trả lời:


34

Hành vi này là thuyết bất khả tri. Bạn đã mở một trích dẫn, shell đang hiển thị $PS2biến toàn cục ( $PS2>đầu ra của bạn) trong khi trích dẫn thứ hai bị thiếu.

Thay vào đó, bạn có thể thay đổi PS2 với những gì bạn muốn:

Ví dụ: export PS2=">>>"

Giá trị của $ PS2 được in (sau khi mở rộng) dưới dạng dấu nhắc phụ để có thêm dữ liệu khi bash đang chạy tương tác. Xem man bash, dưới KHUYẾN MÃI.


2
Bạn có đôi mắt tốt để phát hiện ra trích dẫn duy nhất đi lạc.

1
Đã thêm thông tin: Để thoát ra, chỉ cần nhập một trích dẫn khác hoặc nhấn ctrl-c.
octern

Không chính xác đọc stdin; bạn có thể nhập một trích dẫn nhiều dòng trong một kịch bản hoặc một cái gì đó là tốt; nhưng lời nhắc phụ được hiển thị trong phiên tương tác khi bạn nhập một dòng mới bên trong chuỗi được trích dẫn, vòng lặp chưa hoàn thành, v.v.
tripleee

1
Sử dụng tốt hơn ctrl-d thay vì ctrl-c như EOF (End Of File)
Gilles Quenot

cảm ơn, BTW không có nghĩa là gì?
Anders Lind

5
-bash-4.1$ ls'
>

điều đó có nghĩa là bạn mở một chuỗi dài 'và không đóng nó vì vậy bash đang chờ chuỗi (đối số) kết thúc bằng'

Sử dụng lsmà không có bất kỳ 'ở cuối.


0

"PS" là viết tắt của (có thể) "chuỗi nhắc". PS1 là cái mà shell sẽ hiển thị như lời nhắc dòng lệnh của shell process của bạn. PS2 được hiển thị khi cần thêm đầu vào để hoàn thành lệnh (chuỗi không trích dẫn, đọc từ stdin, v.v.). man bashsau đó tìm kiếm PS1 hoặc PS2 ( /PS[12]<CR>)

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.