我要运行此shell脚本:
#!/usr/bin/env sh
set -e
sbt <<_EOF_
set name := "foo"
set organization := "bar"
publish
_EOF_
我不需要交互模式,当我运行此脚本时,sbt不会在最后一行之后停止工作。 如何以这种方式传递多个集合表达式并退出交互模式?我需要在此脚本中传递许多设置参数,我不知道最好的方法
更新: 发布命令可能会失败。 我想要这种情况:如果失败,则sh脚本将具有非零的退出,否则退出0(无错误)
答案 0 :(得分:1)
使用SBT batch mode指定以空格分隔的sbt命令列表作为参数:
#!/usr/bin/env sh
set -e
sbt 'set name := "foo"' 'set organization := "bar"' publish
如果publish
抛出java.lang.RuntimeException: Repository for publishing is not specified
,则echo $?
应该返回非零退出代码。