0

我正在尝试将变量放入放入文件的行中。

代码如下所示:

echo "cd ~/Desktop/BukkitServer/" >> start.command
echo "java -Xms$ramM -Xmx$ramM -jar CraftBukkit.jar" >> start.command
chmod +x start.command

看看我是如何把 $ram 放在第二行的?它最终成为

java -XmsM -XmxM -jar CraftBukkit.jar

我如何让它把任何 $ram 放在适当的位置?

谢谢 :)

编辑:

echo 'java -Xms{$ram}M -Xmx{$ram}M -jar craftbukkit.jar' >> start.command

生产java -Xms{$ram}M -Xmx{$ram}M -jar craftbukkit.jar

echo "java -Xms{$ram}M -Xmx{$ram}M -jar craftbukkit.jar" >> start.command

生产java -Xms{120}M -Xmx{120}M -jar craftbukkit.jar

4

2 回答 2

2

$用于标记变量。使用您的命令,您告诉 echo 将java -Xms其后跟文件中$ramM变量的内容。

您必须为变量定义一个值

ram=128
echo "java -Xms${ram}M"

会产生

java -Xms128M

请注意,您必须使用方括号{}来分隔变量名,否则 shell 将不知道您的变量在哪里结束。

如果要输入文字$,则必须使用单引号(shell 不会解释字符串的内容)。

echo 'java -Xms$ramM'

生产

java -Xms$ramM
于 2012-07-24T06:15:17.353 回答
1

将您的第二行更改为:

echo 'java -Xms'$ram'M -Xmx'$ram'M -jar CraftBukkit.jar' >> start.command

于 2012-07-24T06:16:55.757 回答