2016-09-26 59 views
-1

输出:错误语法我不知道位置语法错误也许你可以帮助我!shell脚本语法错误无删除mysql

[[email protected] ~]# . test.bash 
    bash: test.bash: line 23: syntax error near unexpected token `)' 
    bash: test.bash: line 23: ` 3) mysql -u root -p1234 -e 'USE eventime;DELETE FROM eventime.dt WHERE date1 <(SELECT STR_TO_DATE(CONCAT(DATE_FORMAT(now(),\'%Y-%m-%d\'),\'-1\'),\'%Y-%m-%d\')- INTERVAL 90 DAY);' ;;' 

Shell脚本:我新的shell脚本只是语法错误,但我不能编辑代码

#!/bin/bash 

selection= 
until [ "$selection" = "0" ]; do 
    echo "==============================" 
    echo "=========PROGRAM MENU=========" 
    echo "1 - Show Date and Time" 
    echo "2 - Show Data Database" 
    echo "3 - Connect Database" 
    echo "" 
    echo "0 - Back to command" 
    echo "==============================" 
    echo -n "Enter selection : " 
    read selection 
    echo "" 

    case $selection in 
     1) dti=$(date '+%d/%m/%Y %H:%M:%S'); 
      echo "This is Date and Time : " $dti ;; 

     2) mysql -u root -p123456789 -e 'USE eventime;SELECT date1,time1 FROM dt;' ;; 

     3) mysql -u root -p123456789 -e 'USE eventime;DELETE FROM eventime.dt WHERE date1 <(SELECT STR_TO_DATE(CONCAT(DATE_FORMAT(now(),\'%Y-%m-%d\'),\'-1\'),\'%Y-%m-%d\')- INTERVAL 90 DAY);' ;; 

     0) Ctrl+Z ;; 
     *) echo "Please enter 1, 2, 3 , 4 or 0" 
    esac 
done 
+0

你是什么意思的'但我不能编辑代码',你在这里有一个类似的问题[错误从shell脚本删除数据mysql](http://stackoverflow.com/questions/39695432/error-delete- data-mysql-from-shell-script),为什么你不能在那里解决它,而不是重复? – Inian

+0

语法错误TT –

+0

just(“”)haha。 –

回答

1

变化“到”在下面的部分,如下;

3) mysql -u root -p123456789 -e "USE eventime;DELETE FROM eventime.dt WHERE date1 <(SELECT STR_TO_DATE(CONCAT(DATE_FORMAT(now(),'%Y-%m-%d'),'-1'),'%Y-%m-%d')- INTERVAL 90 DAY);" ;; 
1

你可以简单地使用"日期格式和其他参数:

3) mysql -u root -p123456789 -e 'USE eventime;DELETE FROM eventime.dt WHERE date1 <(SELECT STR_TO_DATE(CONCAT(DATE_FORMAT(now(),"%Y-%m-%d"),"-1"),"%Y-%m-%d")- INTERVAL 90 DAY);' ;;