shell脚本移动文件不正确地连接字符串

时间:2013-04-23 19:22:26

标签: bash shell sh

我正在尝试编写一个shell脚本来为我移动一些文件,但我错误地运行了所述脚本而没有仔细检查它首先使用的变量。

这是我写的剧本:

#!/bin/bash
# move the war files to jboss in one thing

JBOSS_DEPLOY="/cust/env/local/cust/jboss-5.1.0.GA/server/default/deploy/"

echo JBOSS_DEPLOY

TRADITIONAL="$JBOSS_DEPLOYmyProject.war"
NOSQL="$JBOSS_DEPLOYmyProjectNoSql.war"

echo $TRADITIONAL

mv myProject.war $TRADITIONAL
mv myProjectNoSql.war $NOSQL

回声用于调试目的。似乎"$JBOSS_DEPLOYmyProject.war"变为".war"。我需要修复什么才能将这些字符串正确地连接成一个新变量?

我对文件的实际位置也有点好奇。显然他们会相互覆盖,但在某个地方应该有一个名为".war"的文件,对吧?它会在哪里?

编辑:我发现它放在哪里。我没有意识到"."会将其隐藏起来。现在我只需要知道如何正确连接没有空格的字符串!

1 个答案:

答案 0 :(得分:5)

Bash无法告知变量名称的结束位置以及明文开始的位置,除非您提供一个提示:

"$FOObar"   # variable named  "FOObar"
# v.s.
"${FOO}bar"  # variable named "FOO" and some plaintext "bar"