Số lẻ Bash


1

Tôi đã viết tập lệnh bash này để in các số lẻ, nhưng mã không hoạt động thì có lỗi với câu lệnh if. Ai đó có thể chỉ ra sai lầm?

for((c=0;c<100;c++));
do
if ["$c" % 2 != 0] ; then 
echo $c;
fi
done;

Câu trả lời:


2

Điều này nghe có vẻ giống như một bài tập ở trường, vì vậy đây là những thông tin bạn cần để hoàn thành công việc, thay vì câu trả lời cuối cùng.

Đầu tiên [ là một tiện ích dòng lệnh. Vì vậy, lỗi bạn có thể nhận được bash: [0: command not found vv đang cố gắng nói với bạn rằng bash cần một không gian để hiểu các đối số bạn đang vượt qua.

Vấn đề tiếp theo là [ đang tìm kiếm một tuyên bố đánh giá một boolean. Bạn có thể muốn tìm một cách để vỏ phụ hoặc gói gọn toán học. Nhìn vào expr

Mong rằng sẽ giúp!


Cảm ơn bạn. Tôi đã hiểu đúng, cho (c = 1; c & lt; 100; c ++)); đừng để "out = $ c% 2" nếu ["$ out"! = "0"]; sau đó lặp lại $ c; fi; làm xong;
bitbeast
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.