Membungkus perintah bash panjang dalam file skrip

15

Bagaimana Anda membungkus perintah panjang ke baris berikutnya dalam file skrip bash?

Sebagai contoh sederhana, saya ingin menjalankan perintah pushd . && cd /foo/bar && ls && popd

Dari konsol saya bisa melakukan ini:

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

Dan itu membungkus garis. Tetapi kode yang sama dalam file skrip menghasilkan kesalahan.

Bagaimana Anda membungkus garis-garis ini agar diformat dengan baik?

Jen S.
sumber

Jawaban:

16

Bekerja dengan baik di sini. Pastikan backslash adalah karakter terakhir pada baris tersebut, dan file tersebut menggunakan akhiran * nix line.

Ignacio Vazquez-Abrams
sumber
Berfungsi dengan baik di sini juga, tetapi demikian juga menghapus \ dan dan && sama sekali dan hanya meninggalkan perintah pada baris yang terpisah ...
Brian Kintz
2
@elmugrat: Tapi kemudian Anda kehilangan rantai kondisional.
Ignacio Vazquez-Abrams
Ahhh benar ... entah bagaimana melupakannya.
Brian Kintz
2
masalah ini adalah akhir baris, yang disebabkan oleh fakta bahwa saya menggunakan cygwin di windows dan bukan OS yang berbeda. Terima kasih.
Jen S.