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

17481
Jen S.

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

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

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

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

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

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

13

1 ответ на вопрос

12
Ignacio Vazquez-Abrams

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

Здесь тоже работает нормально, но так же удаляет \ & и && в целом и просто оставляет команды в отдельных строках ... Brian Kintz 13 лет назад 0
@elmugrat: Но тогда вы теряете условную цепочку. Ignacio Vazquez-Abrams 13 лет назад 2
Аааа, правда ... как-то забыл об этом. Brian Kintz 13 лет назад 0
эта проблема заключалась в окончаниях строк, что связано с тем, что я использую cygwin на windows, а не на другой ОС. Благодарю. Jen S. 13 лет назад 1

Похожие вопросы