2013-04-23 59 views
0

我試圖編寫一個shell腳本來爲我移動一些文件,但我犯了錯誤,無法再次檢查它首先使用的變量來運行所述腳本。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"某處,對吧?它會在哪裏?

編輯:我發現它放在哪裏。我沒有意識到"."會將它隱藏起來。現在我只需要知道如何正確連接沒有空間的字符串!

回答

5

Bash有沒有告訴其中一個變量名結束,明碼開始,除非你給它提供一個提示的方式:

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

是啊,這就是我需要的。謝謝! – CorayThan 2013-04-23 19:27:08

+0

+1。或者:'TRADITIONAL =「$ JBOSS_DEPLOY/myProject.war」' – 2013-04-24 00:30:00