Gói các lệnh bash dài trong tệp script


15

Làm thế nào để bạn bọc một lệnh dài cho dòng tiếp theo trong tệp bash script?

Một ví dụ đơn giản, tôi muốn chạy lệnh pushd . && cd /foo/bar && ls && popd

Từ bảng điều khiển tôi có thể làm điều này:

pushd . \
&& cd /foo/bar \
&& ls \
&& popd

Và đó là kết thúc tốt đẹp. Nhưng cùng một mã trong một tập tin kịch bản tạo ra một lỗi.

Làm thế nào để bạn bọc những dòng này để được định dạng độc đáo?

Câu trả lời:


16

Hoạt động tốt ở đây. Đảm bảo rằng dấu gạch chéo ngược là ký tự cuối cùng trên dòng và tệp sử dụng kết thúc dòng * nix.


Cũng hoạt động tốt ở đây, nhưng cũng loại bỏ hoàn toàn các & và & chỉ để lại các lệnh trên các dòng riêng biệt ...
Brian Kintz

2
@elmugrat: Nhưng sau đó bạn mất chuỗi có điều kiện.
Ignacio Vazquez-Abrams

Ahhh đúng ... bằng cách nào đó quên mất điều đó.
Brian Kintz

2
vấn đề này là kết thúc dòng, nguyên nhân là do tôi đang sử dụng cygwin trên windows chứ không phải HĐH khác. Cảm ơn.
Jen S.
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.