我有一个脚本文件app.sh: java -DenabledFeature=true -jar filename [args] 当我启动脚本时: ./app.sh -DenabledFeature=false 代码中的位置 Boolean isFeatureEnabled = System.getProperty("enabledFeature", "true").equals("true") 价值总是真实的;如何将属性的值更改为false?
java -DenabledFeature=true -jar filename [args]
./app.sh -DenabledFeature=false
Boolean isFeatureEnabled = System.getProperty("enabledFeature", "true").equals("true")
kzmpq1sx1#
如果你总是用 ./app.sh -DenabledFeature=false ,您可以通过以下方式直接将命令行参数作为java参数传递:
java $1 -jar filename [args]
在这里 $1 将捕获 sh 第一个论点。更新由于可以将多个值作为参数传递,因此可以检查启用功能是否传递假值,例如:应用程序.sh
$1
sh
# !/bin/bash enabledFeature=true if [[ "$*" =~ '-DenabledFeature=false']] ; then enabledFeature=false #echo $enabledFeature fi java -DenabledFeature=$enabledFeature -jar filename [args]
1条答案
按热度按时间kzmpq1sx1#
如果你总是用
./app.sh -DenabledFeature=false
,您可以通过以下方式直接将命令行参数作为java参数传递:在这里
$1
将捕获sh
第一个论点。更新由于可以将多个值作为参数传递,因此可以检查启用功能是否传递假值,例如:
应用程序.sh