사용자 계정을 생성하는 스크립트를 작성합니다. 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