编写脚本来创建用户帐户。编写脚本是为了回显 useradd 命令(这样我可以确保它能按预期工作)。
我有一个文件新员工.txt包含员工姓名(名字和姓氏,以空格分隔)。 我需要一个变量 $FULLNAME 来读取新员工.txt。
这是我的脚本:
#!/bin/bash
# This creates a file unames.txt containing usernames created from employees' full name
awk '!(NR%2){print substr($1,1,1)p}{p=substr($2,1,4)}' txtfiles/newemploy.txt | tr [:upper:] [:lower:] > txtfiles/unames.txt
GROUPID=500
USERID=500
for UNAME in `cat txtfiles/unames.txt`
do
echo "useradd -u$USERID -g$GROUPID -c "$FULLNAME" -d /home/$UNAME -m -s /bin/bash $UNAME"
GROUPID=`expr $GROUPID + 1`
USERID=`expr $USERID + 1`
done
答案1
尝试按照以下思路进行操作:
while read firstname lastname
do
fullname="$firstname $lastname"
uname=$(echo ${firstname:0:1}${lastname:0:4} | tr '[:upper:]' '[:lower:]')
echo $fullname $uname
done < newemploy.txt