鑑於這種(中更多...):bash命令路徑故障
compile_coffee() {
echo "Compile COFFEESCRIPT files..."
i=0
for folder in ${COFFEE_FOLDER[*]}
do
for file in $folder/*.coffee
do
file_name=$(echo "$file" | awk -F "/" '{print $NF}' | awk -F "." '{print $1}')
file_destination_path=${COFFEE_DESTINATION_FOLDER[${i}]}
file_destination="$file_destination_path/$file_name.js"
if [ -f $file_path ]; then
echo "+ $file -> $file_destination"
$COFFEE_CMD $COFFEE_PARAMS $file > $file_destination #FAIL
#$COFFEE_CMD $COFFEE_PARAMS $file > testfile
fi
done
i=$i+1
done
echo "done!"
compress_javascript
}
而只是爲了澄清,除了#FAIL線一切正常flawessly,如果我做錯了就告訴我,在問題我已經是:
- 行執行和做的事情必須做,但不寫,我把在「file_destination」的文件。
- 如果刪除該路由中的一個文件夾(它與此腳本有關,請參見下文),bash將拋出錯誤並指出該文件夾不存在。
- 如果我再次創建文件夾,沒有錯誤,但沒有文件。
- 如果我將$ file_destination更改爲「testfile」,它會創建具有正確內容的文件。
- $ file_destination路徑正常 - 如您所見,我的腳本會迴應它 -
- 如果我回顯整行,請使用params複製確切的命令並將其執行到腳本所在的目錄中的shell上,它 的作品。
我不知道什麼是錯,一直在琢磨了兩個小時......
腳本輸出(實際路徑):
(alpha)[[email protected] herobrine]$ ./deploy.sh compile && ls -l database/static/js/
===============================
=== Compile ===
Compile COFFEESCRIPT files...
+ ./database/static/coffee/test.coffee -> ./database/static/js/test.js
done!
Linking static files to django staticfiles folder... done!
total 0
完成命令:
coffee --compile --print ./database/static/coffee/test.coffee > ./database/static/js/test.js
我錯過了什麼?
編輯我已經做了一些改進。 在shell中,如果我禁用python virtualenv腳本,但如果我從腳本中調用deactivate它說沒有找到命令。
運行腳本之前是否存在'./ database/static/js'? – beny23