2013-02-12 54 views
0

我怎樣才能創建一個文件名格式類似於變量: 名模式:SnapshotIR__somenumber.csvshell腳本變結構

我想是這樣的:

TODAY=$(date +"%m%d%Y")  
SNAPSHOT = $(SnapshotIR$TODAY*.csv) 

我收到錯誤,如:

test.sh: line 2: SnapshotIR02122013_2239.csv: command not found 
test.sh: line 2: SNAPSHOT: command not found 

所以,當我想用​​用,如果

if [ -f SnapshotIR$TODAY*.csv] -> works 
if [ -f ${SNAPSHOT} ]   -> does not work (I get the above error) 
+0

擺脫'='周圍的空間。 – Barmar 2013-02-12 09:38:28

+0

感謝您的支持,但是這個功能有助於解決錯誤。 – Swagatika 2013-02-12 09:47:33

+0

這應該修復'SNAPSHOT:找不到命令'。 – Barmar 2013-02-12 09:48:24

回答

0
SNAPSHOT=SnapshotIR${TODAY}\*.csv 

當你給$(.....)它說外殼執行大括號內的命令。 我想你只是形成文件名。

也刪除空格:

SNAPSHOT<space>=<space> 

我也想補充通配符「*」不會爲-f標誌工作。

for file in $SNAPSHOT 
do 
     if [ -f "$file" ] 
     then 
       FOUND="$file" 
       break 
     fi 
done 
+0

感謝您的快速回復。我擺脫了一個錯誤,但我仍然得到:test.sh:第2行:SNAPSHOT:命令未找到 這是預期的嗎? – Swagatika 2013-02-12 09:23:48

+0

我沒有任何空間。這可以用於:if [-f $ {SNAPSHOT}]對不對? – Swagatika 2013-02-12 09:32:05

+0

謝謝,它的工作。 – Swagatika 2013-02-12 09:43:51