zhendeaini123 发表于 2018-8-29 08:58:24

18道Shell高级编程企业实战题及参考答案

# viuseradd.sh  
#! /bin/bash
  
. /etc/init.d/functions
  

  
Path=/server/scripts
  
UserDb=$Path/user.db
  
FailDb=$Path/fail_user.db
  

  
[ -d "$Path" ] || mkdir-p $Path
  
[ -f "$UserDb" ] ||touch $UserDb
  
[ -f "$FailDb" ] ||touch $FailDb
  

  
for n in $(seq -w 10)
  
do
  
    passwd=`echo $(date+%t%N)$RANDOM|md5sum|cut -c 2-9`
  
    useradd oldboy$n >&/dev/null&& user_status=$?
  
    echo "$passwd"|passwd --stdinoldboy$n >&/dev/null && pass_status=$?
  
    if [ $user_status -eq 0 -a $pass_status -eq0 ];then
  
       action "adduser oldboy$n"/bin/true
  
       echo -e "user:\toldboy$npass:$passwd" >>$UserDb
  
    else
  
       action "adduser oldboy$n"/bin/false
  
       echo -e "user:\toldboy$npass:$passwd" >>$FailDb
  
    fi
  
done
  
# shuseradd.sh
  
adduser oldboy01                                          
  
adduser oldboy02                                          
  
adduser oldboy03                                          
  
adduser oldboy04                                          
  
adduser oldboy05                                          
  
adduser oldboy06                                          
  
adduser oldboy07                                           [ OK]
  
adduser oldboy08                                          
  
adduser oldboy09                                          
  
adduser oldboy10                                          
  
# cat user.db
  
user:   oldboy01 pass:f3291720
  
user:   oldboy02 pass:457a9f30
  
user:   oldboy03 pass:ff186389
  
user:   oldboy04 pass:8f884b7c
  
user:   oldboy05 pass:26f831b4
  
user:   oldboy06 pass:344e2300
  
user:   oldboy07 pass:0736b278
  
user:   oldboy08 pass:67c1fa76
  
user:   oldboy09 pass:b11e7aa9
  
user:   oldboy10 pass:9e0c3673


页: [1]
查看完整版本: 18道Shell高级编程企业实战题及参考答案