Перенос длинных команд bash в файлы сценариев


15

Как поместить длинную команду в следующую строку в файле сценария bash?

В качестве простого примера я хочу запустить команду pushd . && cd /foo/bar && ls && popd

С консоли я могу сделать это:

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

И это окутывает линию. Но тот же код в файле скрипта выдает ошибку.

Как обернуть эти строки, чтобы они были красиво отформатированы?

Ответы:


16

Здесь отлично работает. Убедитесь, что обратная косая черта является самым последним символом в строке и что файл использует * nix окончания строки.


Здесь тоже хорошо работает, но так же удаляет \ & & & и все и просто оставляя команды в отдельных строках ...
Брайан Кинц,

2
@elmugrat: Но тогда вы теряете условную цепочку.
Игнасио Васкес-Абрамс

Аааа, правда ... как-то забыл об этом.
Брайан Кинц

2
эта проблема заключалась в конце строки, что связано с тем, что я использую cygwin на windows, а не на другой ОС. Благодарю.
Джен С.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.