我想要一个bash脚本,它从文件中读取java参数并用它们执行java
jvm_arguments=$(cat jvm-args)
exec java $jvm_arguments
问题是它对这个jvm-args文件效果不好:
-Xms128m -Xmx512m -Dhostname=$(hostname)
不执行和替换命令hostname。
如何执行hostname命令?所以我得到了:
exec java -Xms128m -Xmx512m -Dhostname=MyMachine
感谢。
答案 0 :(得分:2)
使用eval评估运行时变量。像这样(未经测试):
jvm_arguments=$(cat jvm-args)
eval java $jvm_arguments
答案 1 :(得分:1)
将整个命令存储在文件中,例如run.sh
exec java -Xms128m -Xmx512m -Dhostname=$(hostname) ...
如果您希望终止当前bash
进程,请使用. run.sh