У меня есть следующий файл, расположенный внутри контейнера докеров (ubuntu: 18.04).
Когда я пытаюсь запустить его с docker exec -it index_sql /dbrestore/init.sh
, выдает следующую ошибку
Сбой выполнения среды выполнения OCI: сбой выполнения: container_linux.go:380: запуск
вызванный процесс контейнера: ошибка формата exec: неизвестно
Скрипт внутри файла:
#!/бин/баш
index_sql /opt/mssql-tools/bin/sqlcmd -i /dbrestore/dbCreate.sql -S 127.0.0.1 -U sa -P ПАРОЛЬ
/opt/mssql-tools/bin/sqlpackage/a:Import/sf:/dbrestore/db.bacpac/tsn:localhost,1433/tdn:index_new/tu:sa/tp:ПАРОЛЬ
/opt/mssql-tools/bin/sqlcmd -i /dbrestore/dbPrepare.sql -S 127.0.0.1 -U sa -P ПАРОЛЬ
Когда строка «/opt/mssql-tools/bin/sqlpackage» удалена, все работает нормально.
Когда я пытаюсь бежать
docker exec -it index_sql/opt/mssql-tools/bin/sqlpackage/a:Import/sf:/dbrestore/db.bacpac/tsn:localhost,1433/tdn:index_new/tu:sa/tp:ПАРОЛЬ
или SSH в док-контейнер и запустите
/opt/mssql-tools/bin/sqlpackage/a:Import/sf:/dbrestore/db.bacpac/tsn:localhost,1433/tdn:index_new/tu:sa/tp:nz6#EvGPkg7UQ9Xq
Это все работает нормально.
Может ли кто-нибудь помочь мне и сказать, почему следующая команда не работает, когда она находится в файле init.sh, но отлично работает при запуске вручную?