echo 문 랜덤변수 받아 반복 출력

sw1004의 이미지

안녕하세요 제가 쉘 스크립트를 개발을 하고 있습니다.

테이블에 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  
ymir의 이미지

#!/bin/bash
 
RECORD=${1-16}
LENGTH=8
 
function rand_string()
{
	echo $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c ${1-$LENGTH})
}
 
until [ $RECORD -eq 0 ]
do
	ID=$(rand_string)
	PW=$(rand_string 12)
	echo "insert into user(ID,PASSWD,REGISTER) values($ID,$PW,current_timestamp);"
	let RECORD--
done

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

sw1004의 이미지

해당 스크립트 관련해서 참고해서 개발을 하였는데
스크립트 실행시 항상 16개가 추가가 되네요..
그 부분을 랜덤 변수로 지정을 하면되나요?

ymir의 이미지

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 』

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.