Dockerfile:命令可以在Dockerfile中使用,但不能在shell脚本中使用



我正在dockerfile中运行一个liquibase命令,它成功执行。

CMD liquibase/liquibase/-url=$My_url--用户名$username--密码$password--日志级别=$LogL--更改日志文件/changes/postgresql.xml更新

但是,如果我执行这是一个sh脚本。

liquibase/liquibase/-url=$My_url--用户名$username--密码$password--日志级别=$LogL--changeLogFile/changes/postgresql.xml更新

然后我得到这个错误:

'(选项必须以'--'开头(e.integration.commandline.Main-运行Liquibase:Unexpected value更新时出现意外错误'(选项必须以'--'开头(singException:Unexpected value'update

我不明白为什么这个命令在Dockerfile中按预期执行,但只在shell脚本中部分运行。我的部分意思是,该命令确实打开了liquibaseJar文件并显示ASCII徽标。但后来我看到了"意外值更新"错误。

你知道如何更正shell脚本中的命令吗?

看起来在liquibase/liquibase/的末尾有多余的/。此外,请确保shell命令中使用的所有变量都已定义:

echo $My_URL
echo $Username
echo $Password
echo $LogL

如果没有,则通过导出

export Username=bob
export Password=caution_this_is_not_secure
export My_URL=...
...

相关内容

最新更新