2012-06-14 84 views
-1

所以我有這個配置文件中的設定值作爲變量在bash:語法錯誤:操作數預期(錯誤標記爲「<」)

config.sh 

nFiles=2 

myScript.sh 

for ((i=0;i<$nFiles;i++)); 
do 
    mv -v $FILE_GEN_SOURCE/${FILES[i]} $FILE_DEST; 
done 

但是這給了我這個

error: ((: i<: syntax error: operand expected (error token is "<") 

我試圖刪除$,然後nFiles的默認值變爲0.所以,有什麼錯誤在這裏的任何想法和可以做些什麼來糾正?

+1

我想'NFILES = 10;對於((i = 0;我<$ NFILES;我++));做回聲 「$ NFILES」; done'和對我的作品 – memosdp

+0

是這個「config.sh」還是調用「config.sh」?我想你可能有一個文件循環調用和採購對方。 –

+0

@DennisWilliamson config.sh只是將值nFiles = 2分配給它。 myScript.sh來源於config.sh,然後是for循環。但由於某些原因,nFiles值沒有被存儲或者沒有被識別 – user1357576

回答

1

您需要source config.shmyScript.sh的開頭。

myScript.sh無法從config.sh訪問nFiles

嘗試:

#!/bin/bash 
# myScript.sh 

source config.sh 

for ((i=0;i<$nFiles;i++)); 
do 
    mv -v $FILE_GEN_SOURCE/${FILES[i]} $FILE_DEST; 
done 
+0

我已經完成了 – user1357576

+0

你有沒有在'myScript.sh'中放置'source config.sh'? – kev

+0

是的,我已經完成了=>。 ./config.sh – user1357576

相關問題