gpt4 book ai didi

linux - 外壳脚本 : execute 2 commands and keep first running

转载 作者:太空宇宙 更新时间:2023-11-04 12:07:48 25 4
gpt4 key购买 nike

我正在尝试为我的 docker 镜像编写一个 shell 脚本,其中:

  1. mssqql 服务器启动
  2. 数据库设置发生

但是,在我当前的脚本中,我的 sql server 实例在数据导入完成后立即停止。谁能指出我做错了什么?

#!/bin/bash
database=myDB
wait_time=30s
password=myPw

exec /opt/mssql/bin/sqlservr &
echo importing data will start in $wait_time...
sleep $wait_time
echo importing data...

/opt/mssql-tools/bin/sqlcmd -S 0.0.0.0 -U sa -P $password -i ./init.sql

for entry in "table/*.sql"
do
echo executing $entry
/opt/mssql-tools/bin/sqlcmd -S 0.0.0.0 -U sa -P $password -i $entry
done

for entry in "data/*.csv"
do
shortname=$(echo $entry | cut -f 1 -d '.' | cut -f 2 -d '/')
tableName=$database.dbo.$shortname
echo importing $tableName from $entry
/opt/mssql-tools/bin/bcp $tableName in $entry -c -t',' -F 2 -S 0.0.0.0 -U sa -P $password
done

最佳答案

我没有在您的 shell 脚本中看到任何明显的错误。我只是建议你以下:-

  1. 尝试在没有 exec

    的情况下从脚本的当前 shell 运行服务器
     /opt/mssql/bin/sqlservr &
  2. 在两个循环语句中都添加一些回显以检查那里发生了什么。

希望这会有所帮助。

关于linux - 外壳脚本 : execute 2 commands and keep first running,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49995591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com