我想在创建新用户之前预测下一个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',并且想跳过这一行。 –