Многострочный docker run и его перенос в shell - скрипт
Во многих примерах встречается разбиение команд типа docker run со многими аргументами на несколько строк. При этом используется обратный слеш в конце строки как разделитель строк, который заставляет linux думать, что это одна строка с командой. (ну, по крайней мере, я это так понимаю):
docker run -d --name graylog \
--link mongodb:mongo \
--link elasticsearch:elasticsearch
-p 9000:9000 \
-p 514:514 \
-p 12201:12201 \
-p 1514:1514 \
...
Но когда я это всё записываю в текстовый файл (пусть это будет для определенности rungray.sh), и потом пытаюсь выполнить этот файл командой ./rungray.sh - я получаю ошибку вида
./rungray.sh: line 2: --link: command not found
Как правильно перенести многострочную команду в shell-скрипт?
Ответы (2 шт):
После слэшка сразу жми Enter в терминале. Оболочка сама поймет, что нужно. И если нужен какой-то перенос - слэш + Enter
У вас после второго повторения --link нет \.
Думаю в скрипте тоже самое только во 2-й строке.