html tool

2012年11月7日星期三

shell 中数组使用


  • shell 输入变量db_name 为ALL $1 代替第一个输入参数
  • $db_name
    • 这里使用if[],then时出现一个错误,[]中的每个字符间要求有空格间隔,[ 与下个变量间也要有
      popexizhi就是因为没有这个所以才出现提示没有命令

      eg:


      if [ "$db_name"x = "ALL"x ];then
              foreach ;
      else
              backupdb $db_name;
      fi



  • for db_name in db_all 的判断分隔符有问题
    • + - 使用数组定义方式:
      db_all=(testlink payment)              -----------------------------1
      ## foreach:all backup
      foreach(){
              echo "backup all";
              for db_name in ${db_all[*]};do ------------------------------2
                      backupdb $db_name;
      ##              echo $db_name
              done
              }

    • 1.
      来源: http://isadba.com/?p=96 [popexizhi:这篇文章讲的很细,推荐好好看看。]
      a=(a b c d)    --以括号包围,以空格分隔的方式


      2.
      将产生的数组用 ${a[*]}的方式带入 for in 循环中处理

      for db_name in ${db_all[*]};do

      done

          

没有评论:

发表评论