У меня есть контейнер MongoDB, на котором выполняется последняя версия базы данных, и я могу вручную использовать команду mongodump, чтобы загрузить свои данные в производство, а затем запустить mongorestore, чтобы вставить эти данные в локальный контейнер.
Затем Я подумал: О, если я просто mongodump --things && mongorestore --otherthings, то команда mongorestore будет выполняться после команды mongodump.
![Commands run together fail](https://i.stack.imgur.com/wVvJO.png)
Тем не менее, команда mongodump (по крайней мере, внутри оболочки контейнера) немного сложна, так как mongodump не блокирует оболочку, и я думаю, что как только я нажму enter, команда mongorestore также активируется, так как она думает, что mongodump закончил. Затем mongorestore завершился сбоем, так как данные еще не загружены. Через пару секунд mongodump STARTS загружает файлы и оболочка блокируется. Даже после полной загрузки файлов оболочка не разблокируется, и я не могу набирать новые команды, пока не нажму клавишу ввода.
![After a key press, the terminal lock is released](https://i.stack.imgur.com/3Nn8b.png)
Итак, мой вопрос: как мне запустить один единственный скрипт (. sh файл или что-то в этом роде), который может ждать, пока mongodump завершит работу sh, и только тогда выполнить команду mongorestore?)