如何用一个命令导入文件夹内的所有SQL文件?

在有LAMP的CentOS服务器上,我有一个包含10-20个SQL转储文件的文件夹。 有没有一种方法(单行查询),我可以导入所有这些?

我尝试了以下内容:

  1. login腻子,导航到所有SQL转储文件说(文件夹mysqlallfile

    mysqlallfile包含: 1.sql.gz2.sql.gz等等

  2. 我创buildsh文件说bulkimport.sh

     #!/bin/sh for filename in *.gz; do tempfile="${filename##*/}" database_name="${tempfile%%.*}" echo $database_name mysql -pPASS -u USER -e "CREATE DATABASE $database_name" gzcat $filename | mysql -pPASS -uUSER $database_name done 
  3. 我在terminal下面运行命令:

     bash bulkimport.sh 

    它返回错误:

     bulkimport.sh: line 2: syntax error near unexpected token `$'\r'' 'ulkimport.sh: line 2: `for filename in *.gz; 

脚本文件中可能有Windows行结尾(或其他编码错误)。 可以在Windows编辑器中用Unix行结尾保存文件,然后将脚本复制到服务器,或者使用其中一个选项在Linux中进行转换(例如dos2unixrecodevim )。