#!/bin/bash 에요
쉘스크립에서 아큐먼트 값을 가져올때 $1 이나 $2 같은걸로 받아오는데 1,2 등 숫자 부분을
반복문을 통해 $[$cnt] 같은 식으로 사용하고 싶은데 뭘 붙여봐도 도무지 안 나오네요...
계산식은 result=`expr $result + $[$cnt]` 같은게 오류 안 나고 되는데 에코나 그냥 사용하면 에러가 나거나 cnt 값이 그대로 나오네요
어떻게 해야 될까요 ㅠㅜ
텍스트로 줄대로 간격 맞춰 있는 여러명의 유저아이디 패스워드 파일을 읽어와서 자동으로 useradd 해주는 쉘스크립트를 만들려는데 엄청 모르겠네요 ㅇ-ㅠ
일단 질문에 대해서... 방법은 많이 있는데, 제가 자주 쓰는 방법은 for arg in $@ do echo $arg done 혹은 args=($@) echo ${args[0]) argument 갯수가 필요하다면 $#나 ${#args[@]}(후자의 경우) 식으로 가져오면 되겠네요. 근데 파일에서 읽는 거라면 while read line 등으로 루프 돌면서, JellyPo님 말씀대로 쪼개서 쓰는 게 더 편할 것 같고요.
만드는 방법이야 여러가지 있을테니... 일단 제가 생각하기로는
hello:world 이런 식으로 아이디:패스워드 구분이 되어있을 때
gawk -F: {'print $1'} list
이렇게 하면 아이디만 출력이 될거잖아요?
useradd `gawk -F: {'print $1'} list`;
이렇게 아이디 만들고 나서
chpasswd < list
하면 패스워드 설정이 되지 않을까요?