bash—启动java应用程序时,如何在.sh文件中重新定义属性值

nxowjjhe  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(291)

我有一个脚本文件app.sh: java -DenabledFeature=true -jar filename [args] 当我启动脚本时: ./app.sh -DenabledFeature=false 代码中的位置 Boolean isFeatureEnabled = System.getProperty("enabledFeature", "true").equals("true") 价值总是真实的;
如何将属性的值更改为false?

kzmpq1sx

kzmpq1sx1#

如果你总是用 ./app.sh -DenabledFeature=false ,您可以通过以下方式直接将命令行参数作为java参数传递:

java $1 -jar filename [args]

在这里 $1 将捕获 sh 第一个论点。
更新由于可以将多个值作为参数传递,因此可以检查启用功能是否传递假值,例如:
应用程序.sh


# !/bin/bash

enabledFeature=true
if [[ "$*" =~ '-DenabledFeature=false']] ;
then
      enabledFeature=false
      #echo $enabledFeature
fi

java -DenabledFeature=$enabledFeature -jar filename [args]

相关问题