Tôi đã nhập các dòng sau vào tập lệnh shell có tên là test.sh.
#!/bin/bash
echo Hello World
STR=”Hello Again”
echo $STR
Sau khi chmod để thực thi, tôi chạy script với ./test.sh
. Tuy nhiên, tôi nhận được tin nhắn
./test.sh: line 3 STR: Command not found
Tôi đang làm gì sai?
1
Câu trả lời của terdon có giải quyết được câu hỏi của bạn không? Nếu không, có thể là bạn vô tình có khoảng trống xung quanh bài tập biến của bạn.
—
Arronical
@Voker chỉ là một nhận xét phong cách dựa trên đề xuất của tôi : Tôi nghĩ tốt nhất nên sử dụng Blockquote cho các thông báo lỗi thay vì Khối mã; cuối cùng, đây không phải là mã mà là một số văn bản mà trình thông dịch Bash đang trả về.
—
fedorqui
@fedorqui tại sao? Trích dẫn khối không duy trì định dạng, họ giải thích ký tự đặc biệt (ví dụ như
—
terdon
*
, _
, #
) như markdown, và được trả lại khác nhau bằng phần mềm đọc màn hình. Tôi nghĩ rằng bất cứ thứ gì được máy tính cho hoặc nhận đều phải nằm trong khối mã. Bạn không bao giờ biết khi nào định dạng chính xác có thể có liên quan. Đặc biệt là khi xử lý những thứ như thế này, nơi unicode phát huy tác dụng.
@terdon nó thực sự phụ thuộc vào các trường hợp và thậm chí còn có yêu cầu Thêm định dạng cho nhật ký / cảnh báo / thông báo lỗi cho phép gói từ và giữ nguyên dòng mới . Đối với tôi, nếu nó chỉ là một dòng như trường hợp này, tôi thích các khối trích dẫn vì nó giúp dễ hiểu mã hơn và lỗi là gì.
—
fedorqui
@fedorqui Tôi đoán chúng ta nên đưa nó lên meta nhưng tôi luôn thích phông chữ có chiều rộng cố định và tái tạo định dạng chính xác mỗi khi đăng một tin nhắn được đọc hoặc sản xuất bởi máy tính.
—
terdon