BASH MYSQL获取字段

BASH MYSQL获取字段,mysql,bash,Mysql,Bash,我有以下代码: for file in $(ls -I *.bad1 -I *.bad2 $1); do query="select file_name,dest_path,new_file_name from FILES where file_name='"${file%%\_*}"'" while read -a row do name="${row[0]}" dest="${row[1]

我有以下代码:

for file in $(ls  -I *.bad1 -I *.bad2 $1); do
    query="select file_name,dest_path,new_file_name from FILES where            
          file_name='"${file%%\_*}"'" 
    while read -a row
    do
        name="${row[0]}"
        dest="${row[1]}"
        new_name="${row[2]}"
        echo $name
        echo $dest
        echo $new_name
   done < <(echo $query  | mysql -N -u root -pcorollario86 -D test)
done
因为我必须比较语句(>0或=0)中每个字段的返回值

问题是,当我使用第二条语句BASH时,会给我一个错误 关于聚合函数的使用

我不需要打印每个字段。我需要将每个字段提取到一个变量中

是否存在另一种将select语句中的每个字段提取到单个变量的方法? 有什么建议吗


提前谢谢。

您真的应该使用不同的语言来完成此任务。哪种语言?您知道哪种语言?我懂一点python。但我需要和bash一起练习。我有一个练习:我必须从输入目录中获取一些文件(除了.bad1和.bad2)。然后我必须检查这些文件是否在mysql数据库的表中。如果它们匹配,我必须在db的同一表格中指定的其他目录中移动这些文件。如果它们不匹配,我必须在另一个表中插入警告。所以当他们匹配时,我没有问题。但当它们不匹配时,将不返回任何记录。所以用max函数mysql homewever返回一条记录,用bash做不到?
select max(file_name),max(dest_path),max(new_file_name) from FILES where            
          file_name='"${file%%\_*}