변수에 대한
dbnya="echo $(date +%Y%m%d%H%M%S)"
아래 코드를 실행하면 오류가 발생합니다(SQL 구문 오류).
mysql -u root -pthepass -e "CREATE DATABASE demo$dbnya CHARACTER SET utf8 COLLATE utf8_bin"
첫 번째 명령을 사용하면 dbnya=20120423230524
두 번째 명령이 작동합니다.
답변1
echo 명령을 사용할 필요가 없습니다.
$> dbnya="echo $(date +%Y%m%d%H%M%S)"
$> echo $dbnya
echo 20120423170042
명령에서 이를 제거하면 dbnya는 날짜 평가 결과를 받게 됩니다.
$> dbnya="$(date +%Y%m%d%H%M%S)"
$> echo $dbnya
20120423170114
답변2
따옴표 대신 백틱을 사용하세요.
dbnya=`echo $(date +%Y%m%d%H%M%S)`
백틱(`)은 텍스트가 명령으로 실행되어 변수가 명령의 출력으로 설정됨을 나타냅니다.