1. Tóm tắt
Tôi không hiểu, tại sao tôi cần quy tắc bashate E010 .
2. Chi tiết
Tôi sử dụng bashate cho .sh
các tập tin linting . Quy tắc E010:
làm không trên cùng một dòng như cho
for
bashate:
Chính xác:
#!/bin/bash for f in bash/*.sh; do sashacommand "$f" done
Lỗi:
#!/bin/bash for f in bash/*.sh do sashacommand "$f" done
Có bất kỳ đối số hợp lệ, tại sao tôi cần for
và do
trong cùng một dòng?
3. Không hữu ích
Tôi không thể tìm thấy câu trả lời cho câu hỏi của mình trong:
- Các bài viết về thực hành mã hóa tốt nhất ( ví dụ )
tài liệu bashate . Tôi chỉ tìm thấy:
Một bộ quy tắc giúp giữ mọi thứ nhất quán trong các khối điều khiển. Những thứ này bị bỏ qua trên những hàng dài có phần tiếp nối, bởi vì việc không kiểm soát đó là một loại thú vị
bashate
là một người kiểm tra phong cách . Phong cách vốn có chủ quan. Đừng sử dụng nó nếu bạn không thích kiểu thư viện nghệ thuật mà nó áp đặt. Thay vào đó, bạn nên xem xét một cú pháp / trình kiểm tra lỗi như shellcheck .
E010
- chỉ phong cách cai trị hoặc trong một số trường hợp tôi cần cho và làm trong cùng một dòng không chỉ bởi lý do phong cách.
do
. Nó giống như thụt lề mở của một if
và thêm mã trên cùng một dòng trong một ngôn ngữ như C. Một ví dụ khác, nếu python cho phép, sẽ đặt :
một dấu if
thụt vào dòng tiếp theo và thêm mã vào cùng dòng đó. Nó sẽ làm cho nó khác biệt với các dòng bổ sung trong cơ thể.
do
chắc chắn là một chút khác thường, nhưngfor ... \ndo\n<indent>body...
cực kỳ phổ biến và tôi thậm chí còn ước tính nhiều hơn thếfor ... ; do
. Nó cũng phàn nàn về điều đó?