输出变量? (bash)的

时间:2012-07-24 06:10:03

标签: bash

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

代码如下所示:

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

2 个答案:

答案 0 :(得分:2)

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

您必须为变量

定义一个值
ram=128
echo "java -Xms${ram}M"

将产生

java -Xms128M

请注意,您必须使用方括号{}来分隔变量名称,否则shell将无法知道变量的完成位置。

如果你想放一个文字$,你将不得不使用单引号(shell不会解释字符串的内容)。

echo 'java -Xms$ramM'

产生

java -Xms$ramM

答案 1 :(得分:1)

将第二行更改为:

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