1. 程式人生 > >shell面試題

shell面試題

1.使用for迴圈在/westos目錄下批量建立10個html檔案,其中每個檔案需要包含10個隨機小寫字母加固定字串westos

#!/bin/bash

Path=/westos
[ -d "$Path" ] || mkdir -p $Path                 ##判斷/westos是否存在,不存在就新建一個

for i in `seq 10`
do
    random=$(openssl rand -base64 40 | sed 's/[^a-z]//g' | cut -c 3-12)
   touch $Path/${random}_westos.html
done

其中的openssl rand -base64 40 是採用隨機的base64加密生成的40長度的金鑰

2.新建10個使用者westos01-westos10,然後賦予這是個使用者隨機的密碼,密碼輸出到文件一份

#!/bin/bash

. /etc/init.d/functions

user="westos"
passfile="/tmp/user.log"

for num in `seq -w 10`
do
    pass="`echo $RANDOM | md5sum | cut -c 3-12`"
    useradd $user$num &> /dev/null && {
        echo "$pass" | passwd --stdin $user$num &> /dev/null
        echo -e "user:$user$num\tpasswd:$pass" >> $passfile
    }

if [ $? -eq 0 ];then
    action "$user$num is ok" /bin/true
else
    action "$user$num is failed" /bin/false
fi
done

執行一下