我想在創建新用戶之前預測下一個UID。 由於新的人會把最大的ID值,但並增加了1到它,我想下面的腳本:如何從/ etc/passwd中提取最大的UID值?
biggestID=0
cat /etc/passwd | while read line
do
if test [$(echo $line | cut -d: -f3) > $biggestID]
then
biggestID=$(echo $line | cut -d: -f3)
fi
echo $biggestID
done
let biggestID=$biggestID+1
echo $biggestID
結果我得到1
。這讓我感到困惑,我認爲問題出在循環上,所以我在fi
的下面添加了echo $biggestID
來檢查它的值是否真的在變化,結果發現循環沒有問題,因爲我得到了許多值高達1000的值。那麼爲什麼biggestID
的值在循環後返回0
?
的[我如何在bash腳本添加數字(可能的複製http://stackoverflow.com/questions/6348902/how-can-i-add-numbers-in-a-bash-script ) – tddmonkey
可能你有一行像'nobody:x:65534:65533:nobody:/ var/lib/nobody:/ bin/bash',並且想跳過這一行。 –