Bash脚本从文件中读取并执行命令

时间:2014-11-05 22:16:55

标签: java bash file

我想要一个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

感谢。

2 个答案:

答案 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

进行呼叫