Zawijanie długich poleceń bash w plikach skryptowych

15

Jak owinąć długie polecenie do następnego wiersza w pliku skryptu bash?

Jako prosty przykład chcę uruchomić polecenie pushd . && cd /foo/bar && ls && popd

Z konsoli mogę to zrobić:

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

I to otacza linię. Ale ten sam kod w pliku skryptu powoduje błąd.

Jak owinąć te linie, aby były ładnie sformatowane?

Jen S.
źródło

Odpowiedzi:

16

Działa dobrze tutaj. Upewnij się, że ukośnik odwrotny jest ostatnim znakiem w linii i że plik używa końcówek linii * nix.

Ignacio Vazquez-Abrams
źródło
Tu też działa dobrze, ale tak samo usuwa usuwanie \ i && i pozostawiając polecenia w osobnych wierszach ...
Brian Kintz
2
@elmugrat: Ale wtedy tracisz łańcuch warunkowy.
Ignacio Vazquez-Abrams
Achhh prawda ... jakoś o tym zapomniałem.
Brian Kintz
2
problemem były zakończenia linii, co wynika z faktu, że używam cygwina w systemie Windows, a nie w innym systemie operacyjnym. Dzięki.
Jen S.