Chinaunix

标题: for 不能循环引用参数 [打印本页]

作者: network_sina    时间: 2014-11-25 19:12
标题: for 不能循环引用参数
以下是我的文件:
2014-11-25_xwynew54_xwy_gm.sql          2014-11-25_xwynew57_xwy_log.sql         2014-11-25_xwynew60_xwy_statistics.sql
2014-11-25_xwynew54_xwy_log.sql         2014-11-25_xwynew57_xwy_statistics.sql  2014-11-25_xwynew61_xwy_gm.sql
2014-11-25_xwynew54_xwy_statistics.sql  2014-11-25_xwynew58_xwy_gm.sql          2014-11-25_xwynew61_xwy_log.sql
2014-11-25_xwynew55_xwy_gm.sql          2014-11-25_xwynew58_xwy_log.sql         2014-11-25_xwynew61_xwy_statistics.sql
2014-11-25_xwynew55_xwy_log.sql         2014-11-25_xwynew58_xwy_statistics.sql  2014-11-25_xwynew62_xwy_gm.sql
2014-11-25_xwynew55_xwy_statistics.sql  2014-11-25_xwynew59_xwy_gm.sql          2014-11-25_xwynew62_xwy_log.sql
2014-11-25_xwynew56_xwy_gm.sql          2014-11-25_xwynew59_xwy_log.sql         2014-11-25_xwynew62_xwy_statistics.sql
2014-11-25_xwynew56_xwy_log.sql         2014-11-25_xwynew59_xwy_statistics.sql  2014-11-25_xwynew63_xwy_gm.sql
2014-11-25_xwynew56_xwy_statistics.sql  2014-11-25_xwynew60_xwy_gm.sql          2014-11-25_xwynew63_xwy_log.sql
2014-11-25_xwynew57_xwy_gm.sql          2014-11-25_xwynew60_xwy_log.sql         2014-11-25_xwynew63_xwy_statistics.sql

#!/bin/bash
#
Data_all=$(ls *.sql |awk -F'-' '{print $3}' |sed 's/25_//g;s/\.sql//g' )
for ((i=0;i<=${#Data_all[@]};i++));do
/data/mysql/bin/mysql -uxxxx -pxxxxxx  -h127.0.0.1 -e "create database \`${Data_all[$i]}\`"
done
我现在批量创建数据库不成功,我已经加了for循环用$@引用参数 老是创建不成功 求解答
作者: reyleon    时间: 2014-11-25 19:30
本帖最后由 reyleon 于 2014-11-25 19:31 编辑
  1. #!/bin/bash

  2. for sql in *.sql; do
  3.     db_name=$(grep -Po '(?<=_)[^.]*' <<< "$sql")
  4.     [ -n "$db_name" ] && /data/mysql/bin/mysql -uxxxx -pxxxxxx  -h127.0.0.1 -e "create database $db_name"
  5. done
复制代码

作者: qq58945591    时间: 2014-11-25 19:31
for example:

for n in $(cat list)
do
echo 'exec command'
done






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2