[英]Git bash and sqlcmd
我在 git bash 中使用 shell 脚本来调用 sqlcmd 来运行一些 ZAC5C74B64B4B4B83AZEF 脚本。 脚本名称基于 git 分支名称,因此命令为 sqlcmd -E -S mySQLServer -d myDB " $branch sql"
它在命令行中运行良好,但我想对几个 git 分支重复它,所以我有一个脚本可以调用这个脚本来获取分支列表:
While read branch
do
. C:/sqlScript.sh $branch
done < "$1"
带有分支列表的文件在 $1 中传递
发生的是从列表中读取第一个分支,但永远不会移动到下一个分支。 它重复执行 $branch 中具有相同值的 sqlScript.sh。
如果我将 sqlScript 更改为仅回显 $1,则一切都按预期工作。 当我调用 sqlcmd 时,仅通过第一个分支。 那么为什么 sqlcmd 会把事情搞砸呢?
删除前导点,调用C:/sqlScript.sh...
而不是. C:/sqlScript.sh...
. C:/sqlScript.sh...
. scripts.sh
. scripts.sh
是source script.sh
的缩写,:它将执行当前 shell 中script.sh
中列出的命令。 如果您有诸如exit
之类的命令,它将退出当前的 shell。
常规调用将启动一个单独的 shell,它不会与您当前的调用混淆。
谢谢,但是执行任何一种方式都会产生相同的结果。 如果我在我调用的脚本中执行 sqlcmd,我会得到只从分支列表中读取第一行的效果。 如果我只是说 Git 结帐和 git 拉,它可以工作。 如果我添加 sqlcmd,它会卡在第一个分支上。
我通过在使用命令调用 sqlcmd 之前修复它,以便它为每次迭代启动一个新命令。com。
sqlcmd -E -S myServer -d myDB -i $branch.sql
和
Command sqlcmd -E -S myServer -d myDB -i $branch.sql
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.