Tại sao
$ echo '-n'
không ghi trên thiết bị đầu cuối mặc dù -n được viết trong dấu ngoặc kép?echo newline suppression
Trả lời
Trích dẫn không giúp được gì vì ... ugh, thật khó để giải thích. Trình bao tách dấu ngoặc kép trước khi lệnh "echo" được đánh giá, do đó, vào thời điểm đó chúng không quan trọng.
Hãy thử điều này:
echo - -n
Đó không phải tài liệu như làm việc (Tôi đang chạy Ubuntu Linux), nhưng echo
là gần như chắc chắn một built-in để bất cứ điều gì vỏ bạn đang sử dụng, do đó trang người đàn ông là có vấn đề. Nó làm việc cho tôi. (Tôi đang chạy zsh
vì tôi thực sự suave và tinh vi).
chỉnh sửa: có vẻ như là bash
được dựng sẵn edit
không hoạt động theo cách đó. Tôi không biết nên đề nghị gì; này:
echo '' -n
sẽ cung cấp cho bạn "-n" trước một khoảng trắng (tùy thuộc vào việc bạn đang làm) có thể OK.
bạn nên cố gắng sử dụng di động printf
càng nhiều càng tốt.
Bạn có thể thử
echo -e '\055n'
Không quiete có:
echo -e 'a-n\b\b\b '
-n
đáng ngạc nhiên làm việc này:
echo -e '-n\b'
-n
và đây là một giải pháp tôi có thể giải thích:
echo "foobar" | sed 's/.*/-n/'
-n
.210
tôi thấy rằng sau chỉ hoạt động trong bash:
echo -n PRINT_THIS
Vì vậy, bạn nên đặt -n nơi đầu tiên.
Ngôn ngữ bạn đang sử dụng? – thecoshman
Tôi đoán rằng đây là một câu hỏi cú pháp vỏ (tức là, bash hoặc bất cứ điều gì). – Pointy