0

我试图编写一个 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"某个地方命名,对吧?它会在哪里?

编辑:我找到了它的放置位置。我没有意识到"."会隐藏它。现在我只需要知道如何正确连接没有空格的字符串!

4

1 回答 1

5

Bash 无法判断变量名的结束位置和明文的开始位置,除非您提供提示:

"$FOObar"   # variable named  "FOObar"
# v.s.
"${FOO}bar"  # variable named "FOO" and some plaintext "bar"
于 2013-04-23T19:25:04.490 回答