Bash 输出变量?(猛击)
我试着把一个变量放到一行,然后放到一个文件中 代码如下所示:Bash 输出变量?(猛击),bash,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 我
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-jarcraftbukkit.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
$
用于标记变量。通过您的命令,您告诉echo在文件中放置java-Xms
,后跟$ramM
变量的内容
您必须为变量定义一个值
ram=128
echo "java -Xms${ram}M"
将产生
java -Xms128M
请注意,必须使用括号{}
来分隔变量名,否则shell将不知道变量的结束位置
如果您想输入一个literal$
,则必须使用单引号(shell不会解释字符串的内容)
产生
java -Xms$ramM
$
用于标记变量。通过您的命令,您告诉echo在文件中放置java-Xms
,后跟$ramM
变量的内容
您必须为变量定义一个值
ram=128
echo "java -Xms${ram}M"
将产生
java -Xms128M
请注意,必须使用括号{}
来分隔变量名,否则shell将不知道变量的结束位置
如果您想输入一个literal$
,则必须使用单引号(shell不会解释字符串的内容)
产生
java -Xms$ramM
将第二行更改为:
echo'java-Xms'$ram'M-Xmx'$ram'M-jar CraftBukkit.jar'>>start.command
将第二行更改为:
echo'java-Xms'$ram'M-Xmx'$ram'M-jar CraftBukkit.jar'>>start.command
啊,谢谢。我已经定义了$ram,但不知道{}。唯一的问题是现在数字周围有括号。比如:java-Xms{200}M-Xmx{200}M-jar craftbukkit.jar
你把{}放在哪里了?请用新版本编辑您的问题(将其添加到末尾,保留原始版本,否则将很难理解“啊啊啊啊啊啊啊啊,我刚刚意识到我把$放在括号中了。谢谢xDAh,谢谢。我已经定义了$ram,但不知道{}。现在唯一的问题是数字周围有括号。如:java-Xms{200}M-Xmx{200}M-jar craftbukkit.jar
你把{}放在哪里了?请用新版本编辑你的问题(在末尾添加,保留原来的版本,否则很难理解)啊,我刚刚意识到我把$放在了括号里。感谢XD,这将产生与OP已经得到的完全相同的输出(java-XmsM-XmxM-jar-CraftBukkit.jar
)@matteo NO!!输出会很好。虽然这不是你的优雅方式。在本例中,整个表达式被分成4个子字符串,最终输出是4个子字符串的串联。这将产生与OP已经得到的完全相同的输出(java-XmsM-xmxmxm-jar-CraftBukkit.jar
)@matteo NO!!输出就可以了。虽然这不是你做事情的优雅方式。在这种情况下,整个表达式被分成4个子字符串,最终输出是4个子字符串的串联。