bash脚本从文件中读取并执行
问题描述:
我想要一个bash脚本,从文件中读取Java参数,并与他们执行的java命令bash脚本从文件中读取并执行
jvm_arguments=$(cat jvm-args)
exec java $jvm_arguments
的问题是,它不与这方面的工作非常出色jvm-args文件:
-Xms128m -Xmx512m -Dhostname=$(hostname)
命令主机名未执行并被替换。
如何获取执行的hostname命令?所以我得到:
exec java -Xms128m -Xmx512m -Dhostname=MyMachine
谢谢。
答
使用eval来评估您的运行时变量。这样的(未测试):
jvm_arguments=$(cat jvm-args)
eval java $jvm_arguments
+0
如果仅使用bash,'jvm_arguments = $(
答
存储整个命令文件,例如,run.sh
exec java -Xms128m -Xmx512m -Dhostname=$(hostname) ...
如果你想终止当前bash
过程中,请在致电. run.sh
要小心有了这个。有一个原因是bash不会自动执行这样的事情:它可能是一个巨大的安全漏洞。 – John1024 2014-11-05 22:55:19
'InetAddress.getLocalHost()。getHostName()'可能是另一种解决方案(http://download.java.net/jdk7/archive/b123/docs/api/java/net/InetAddress.html#getLocalHost%28%29 ) – 2014-11-05 23:22:00