shell脚本批量建表


shell脚本批量建表
 
1、我经常用shell脚本批量去建一些表  ,count   ....while    do [sql stat]   done  等等 ,在create table select *  from xxxx where 1=2的时候 ,你是否被id没有自动去建立primary key  auto_increment   的主键索引给枪毙呢,反正我被坑了。
2、你是否写过函数function(){...}   在函数中接收过参数吧  ,你是不是这么写过  $data="xxx   xxx    xxx"  ,而结果 ,你想你的函数接收一个参数 ,而你却这么传了参数  fun   $data  ^_^  ,哈哈,实际上效果是这样的,fun  xxx xxx xxx  ,呵呵,中招了吧  ,所以,你应该这么写 fun "$data"   
3、for file in `ls |grep ^this`   ,一定用过吧  ,你是否在这个命令之前 cd到一个目录中去  ,那么,你echo  $file  的时候 ,它会将目录的信息带上去么 ,你敢确定你的说法吗?反正我被坑了,这是我的代码。
[plain] 
function load_game_data2_dbs(){  
file=$1  
echo_log "$file  正在导入数据库中"  
<span style="font-family: Arial, Helvetica, sans-serif;">。。。。。</span>  
<span style="font-family: Arial, Helvetica, sans-serif;">}</span>  
[plain] 
for  file in `ls |grep ^attemp`  
  do  
  echo_log "已经进入了 最后的循环,准备去导包"  
  #将这个文件分发到4个DB上的原始数据上去,代auto那个表  
  load_game_data2_dbs "$Directory/$file"  
  echo_log "已经将数据 $Directory/$file 导入到4台DB ,准备设置文件完成初始状态\n"  
  #将4台DB上的包导完标志位置位为初始状态  
  <span style="font-family: Arial, Helvetica, sans-serif;">。。。。。。</span>  
  <span style="font-family: Arial, Helvetica, sans-serif;">done</span>  
[plain] 
load_game_data2_dbs 中,我打印了   
  <span style="font-family: Arial, Helvetica, sans-serif;">$Directory/$file  。接着 echo_log也打印了 </span>  
  <span style="font-family: Arial, Helvetica, sans-serif;">$Directory/$file  猜猜 ,两个输出的是什么?反正我被坑了,后来知道怎么被坑了,原来在load_game_data2_dbs函数中,你需要对file变量加loacl 关键字  ,这个完全和你学的其他语言不一样。</span>  

相关内容

    暂无相关文章