급합니다..간단한건데 뭐가 잘못된거죠?

now248의 이미지

oops
name 파일에 있는 명단으로 계정만드는거 입니다.
cat > name 써서
2001A
2002B

이런식으로 만들었고요..
이제..
cat > user
#!/bin/bash
user=`cat name`
echo $user
for id in $user
do
echo $id
adduser $id
done

이것을 실행했습니다.
./user
2001A 2001B
2001A
adduser 유효하지 않은 사용자명 `2001A`
2001B
adduser 유효하지 않은 사용자명 `2001B`

이런식으로 나오네요..
왜그러죠?
#!/bin/bash
user="2001A"
adduser $user

이거는 만들어서 실행해봤떠니 잘만되던데요..
위에껀 왜 안될까요?
이거땜에 몇시간째 고민입니다.ㅠㅠ

tinywolf의 이미지

음.. 아마도 숫자로 시작하는 이름이 안되는 것이 아닐까요?

ㅡ_ㅡ;

익명 사용자의 이미지

포맷하셍.

cppig1995의 이미지

형식이 맞지 않는 것 같은데요? 숫자로 시작해서 그런 것 같네요.
'유효하지 않다'는 보통 형식과 관련되었거든요.

int 123_Invaild; // Not a vaild variable name.

이 경우에도 오류는 "유효한 변수명이 아닙니다"라고 해석되지요.

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

chronon의 이미지

now248 wrote:
adduser: 유효하지 않은 사용자명 `2001A`

이 에러 메시지에서 왠지 작은 따옴표 ' 가 아니라 `(backquote 라고 하던가요.) 로 보이는데요..

cppig1995 wrote:
형식이 맞지 않는 것 같은데요? 숫자로 시작해서 그런 것 같네요.

이렇게 보통 생각하게 되지만,

now248 wrote:
#!/bin/bash
user="2001A"
adduser $user

이거는 만들어서 실행해봤떠니 잘만되던데요..

이라고 하셨으니 무효네요.