我有一個非常簡單的問題,我發現了一堆類似的問題,但沒有一個解決了這個問題。腳本失敗,目錄名稱中的空格
我有一個shell腳本,通過一個目錄,並打印出一個子目錄中的文件和目錄的數量,然後打印目錄名稱。
但是,它帶有空格的目錄會失敗,它會嘗試將每個單詞用作新參數。我試過把$ dir放在引號中,但這沒有幫助。也許是因爲它已經在回聲報價中。
for dir in `find . -mindepth 1 -maxdepth 1 -type d`
do
echo -e "`ls -1 $dir | wc -l`\t$dir"
done
在此先感謝您的幫助:)
不管發生了什麼事情。 -mindepth ... |同時閱讀dir;做...; *嘆息* – robertklep 2013-05-05 14:26:39
@robertklep嗯 - 那個版本不太對;它錯誤地處理了一些帶有反斜槓的名字,以IFS字符結尾的名字和任何包含換行符的名字。此外,由於位於流水線的右側,因此在while循環中對變量所做的任何更改在退出時都會被忽略。 – 2013-05-05 14:28:26
@CharlesDuffy和最初發布的版本(我正在迴應)捕捉所有這些問題? ;) – robertklep 2013-05-05 14:31:15