echo 문 랜덤변수 받아 반복 출력
글쓴이: sw1004 / 작성시간: 화, 2018/04/10 - 1:22오후
안녕하세요 제가 쉘 스크립트를 개발을 하고 있습니다.
테이블에 id,passwd,register 필드에 값을 추가하는 스크립트를 만들려고 하고 있습니다.
일단 id와 passwd는 MATRIX 변수에서 LENGTH 만큼 랜덤으로 생성을 하고
반복문이 끝나면 해당 테이블에 random변수의 값만큼 insert into 쿼리문을 실시하는 스크립트를 만들려고 하는데
echo "insert into user(ID,PASSWD,REGISTER) values($USER_INFO,$USER_INFO,current_timestamp);" | mysql --login-path=swim study
이 부분을 random 변수의 값만큼 추가하는 쿼리문을 어떻게 개발해야 할지 막막해서
많은 분들 의견 남겨주시면 감사하겠습니다.
#!/bin/bash random=`expr $RANDOM % 10 + 1` MATRIX="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" LENGTH="8" while [ "${n:=1}" -le "$LENGTH" ] do USER_INFO="$USER_INFO${MATRIX:$(($RANDOM%${#MATRIX})):1}" let n+=1 done echo "insert into user(ID,PASSWD,REGISTER) values($USER_INFO,$USER_INFO,current_timestamp);" | mysql --login-path=swim study
Forums:
음 ..
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
해당 스크립트 관련해서 참고해서 개발을 하였는데
해당 스크립트 관련해서 참고해서 개발을 하였는데
스크립트 실행시 항상 16개가 추가가 되네요..
그 부분을 랜덤 변수로 지정을 하면되나요?
음 ..
RECORD=${1-16} 는 $1 에 값이 있다면 RECORD 에 $1 을 넣고..
$1 이 정의되지 않았다면, RECORD 에 16을 넣으라는 뜻입니다.
$1 은 해당 스크립트의 첫 번째 argument 를 뜻합니다.
단, 함수 내에서 $1 은 해당 함수의 첫 번째 argument 를 뜻합니다.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
댓글 달기