1
從一個更大的腳本的函數:bash腳本的目錄遍歷文件進入無限循環
function lipo {
OUTDIR=$SDK_DIR/lib/$CONFIG
mkdir -p $OUTDIR
for LIBNAME in $SDK_DIR/lib/$CONFIG-iphoneos/lib*
do
BASELIBNAME=`basename $LIBNAME`
OUTLIB=$OUTDIR/$BASELIBNAME
echo lipo $BASELIBNAME for $CONFIG
lipo $SDK_DIR/lib/$CONFIG-iphoneos/$BASELIBNAME $SDK_DIR/lib/$CONFIG-iphonesimulator/$BASELIBNAME -create -output $OUTLIB
done
}
的目標目錄中有幾個文件,其實這裏是一個真實的例子:
當我運行該功能,出現這種情況:
它只是非常快的循環永遠在第一個文件...(整個屏幕填充在1s以下)echo
正在運行,但沒有別的 - 這lipo
操作需要一秒左右,以便它每秒循環幾十次,它沒有運行。但沒有錯誤。
如果我手動在一個文件上運行命令,它似乎工作正常 - 或者如果我搞砸了,我會得到一個錯誤。所以兩個問題真的...
- 爲什麼只有
echo
運行? - 無論命令是否成功,循環如何不斷重複永久目錄中的第一個文件?
呵呵,你說的對!我一直對我的頭撞各種構建腳本兩天,並「密碼盲」!最初'lipo'命令是其他的東西,我改變了它,甚至從來沒有注意到這個問題。多麼尷尬。 –
@John難怪他們爲什麼說代碼審查有助於:) – devnull