【发布时间】:2014-05-10 20:32:47
【问题描述】:
我正在编写一个 bash 脚本,该脚本根据创建日期和用户 ID 两件事来删除用户。如果日期早于终端中给出的日期并且用户 ID 大于 1000,则应从系统中删除用户。我写了一些代码,它给了我很多问题,因为包含用户名、创建日期和 ID 信息的文件需要拆分或“剪切”。有没有比我将碎片分解成数组更好的方法来解决这个问题?
#!/bin/bash
if [ $# -eq 0 ] ; then
echo $0 "<date(year/month/day) filename>"
exit 1
fi
dateForDeletion=$1
listOfUsers=$2
for i in `cat $listOfUsers` | while IFS='/t' read username date; do
${array[0]}="$username"
${array[1]}="$date"
uid=`id -u ${array[0]}`
if [$dateForDeletion < $date] && [uid > 1000] ; then
`sudo userdel $username`
fi
done
【问题讨论】:
-
帮自己一个忙,看看这个Bash PitFalls