텍스트 파일 입력으로 사용자 계정을 만드는 방법

텍스트 파일 입력으로 사용자 계정을 만드는 방법

다음 콘텐츠(사용자 이름 홈 디렉터리의 전체 이름)가 포함된 파일에서 사용자 이름을 생성하려면 bash 스크립트를 생성해야 합니다.

drs /home/drs 파라나스 테루왈란

내 스크립트:

!#/bin/bash
#call data from file
file="file.txt"
USERNAME=$(cat file.txt | cut -d: -f1)

USER_FULLNAME=$(cat file.txt | cut -d: -f2)

useradd -m ($USERNAME) -c ($USER_FULNAME)

잘못된 사용자 이름 오류가 발생합니다.

답변1

구분 기호, 공백 또는 콜론은 무엇입니까? 귀하의 예에서는 공백 사용을 제안하고 코드에서는 콜론 사용을 제안합니다.

Bash에서 이 작업을 수행할 수 있습니다.

#!/bin/bash
file="file.txt"
while IFS=: read USERNAME USER_HOME USER_FULLNAME; do
    useradd -m -c "$USER_FULLNAME" -d "$USER_HOME" "$USERNAME"
done < "$file"

이 예에서는 입력 파일에 다음 줄이 포함되어 있다고 가정합니다.

drs:/home/drs:Paranas Theruwalan

답변2

먼저 변수를 사용하여 ()를 제거해야 합니다. useradd -m ${USERNAME} -c ${USER_FULNAME}

두 번째로 사용자 이름 출력을 확인하세요. 잘못된 문자가 포함되어 있을 수 있습니다.

답변3

여기 있어요:

#!/bin/bash
#call data from file
FILE="file.txt"
USERNAME=$(cut -d " " -f 1 $FILE)
USER_FULLNAME=$(cut -d " " -f 3,4 $FILE)
useradd -m -c "${USER_FULLNAME}" "${USERNAME}" 

관련 정보