본문 바로가기
MySql

MySQL 우분투에서 스크립트를 사용하여 하이픈 문자로 데이터베이스 이름을 추가하는 방법

by 베이스 공부 2020. 11. 12.
반응형

이 코드를 스크립트에서 사용해 보았지만 백틱 안에있는 것을 만들었습니다. 이 예에서는 "echo"table-db ""가 데이터베이스에 생성되었습니다. 쿼리에 하이픈 문자가있는 폴더 이름을 만들지 않았습니다.

hyph=`ls -l $DBDIR | egrep '^d' | grep '.-.' | awk '{print $9}'`

dbhype=($hyph)


for dbtry in ${!dbhype[*]}
   do            
        mysql -u$dbUser -p$dbPass -e 'CREATE DATABASE IF NOT EXISTS `echo "table-db"` CHARACTER SET utf8 COLLATE utf8_general_ci';

        echo "Database ${dbhype[$dbtry]} created."

done

 

해결 방법

 


`table-db`


mysql -e 'CREATE DATABASE `table-db`;'

그러나 큰 따옴표 내에서 사용할 때는 이스케이프해야합니다. 그래야 bash에서 명령 sustitution으로 해석되지 않습니다.

mysql -e "CREATE DATABASE \`table-db\`;"

변수에서 데이터베이스 이름을 얻으려면 다음과 같이 작은 따옴표 문자열을 넘어서야합니다.

mysql -e "CREATE DATABASE \`$dbname\`;"

또는 다음과 같이 :

mysql -e 'CREATE DATABASE `'$dbname'`;'

 

참조 페이지 https://stackoverflow.com/questions/35592034

 

 

반응형

댓글