#!/bin/bash
for dir in "/home/$USER/sessions/out/*/"; do
size=$(stat -c %s $dir/log)
if [ 1 -ne 0 ]; then
echo $size.
fi
done
今天開始使用bash。我試圖檢查家庭/會話/出所有目錄中日誌文件的大小。如果1!= 0(總是作爲測試),則應打印日誌的文件大小。我得到的是:Bash:通過目錄迭代行爲很奇怪
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 57344001 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 966904.
我期望在每個文件大小後,我實際上得到一個時期。所有文件大小是否在達到if子句之前附加到可變大小?我很困惑。
試着在/家庭/ $ USER刪除引號/會話/縮小/ */ – mbonneau
完美。 :)當您將評論移至答案時,我會將您的答案標記爲正確。 – Aich
未來,請不要包含如下內容:if [1 -ne 0];那麼...',因爲他們所做的只是造成混亂(儘管你的解釋)。 – mklement0