Skip to content

antony@notes:~/ops-automation$ cat "cgidb.sh.md"

cgidb.sh

2022-09-05· ops-automation ·Shell Script

cgidb program

描述

新增、刪除和顯示 Database

完整程式內容

#!/bin/bash
echo "Content-type: text/html; charset=utf-8"
echo ""
echo '<html><body>'
echo 'Hello From cgidb.sh'
echo '<pre>'

# var
DB_name=$(echo ${QUERY_STRING%&*} | cut -d "=" -f 2)
action=${QUERY_STRING##*&}
Action=${action%%=*}
DB_user="bobo"
DB_passwd="bobo"
DB_ip="120.96.143.77"


# Debug
#echo "REQUEST_URI=${REQUEST_URI}"
#echo "QUERY_STRING=${QUERY_STRING}"
#echo "DBname=$DB_name"
#echo "Action=$Action"

Action_Db() {
  mysql -u "$DB_user" -h "$DB_ip" -p"$DB_passwd" <<EOF
${Action} DATABASE ${DB_name};
EOF
}

case ${Action,,} in
  create)
    if Action_Db; then
      echo "<h1 style="color:blue">Create ${DB_name} Database Success!</h1>"
    else
      echo "<h1 style="color: red">Error! pls try again!</h1>"
    fi
    ;;
  drop)
    if Action_Db; then
      echo "<h1 style="color:blue">Success!</h1>"
    else
      echo "<h1 style="color:red">Error! pls try again!</h1>"
    fi
    ;;
  show)
    if [ "$DB_name" != "" ]; then
      echo "<h1>資料庫查詢結果:</h1>"
      a=$(mysql -u "$DB_user" -h "$DB_ip" -p"$DB_passwd" -e "show databases like '${DB_name}';")
      echo "<h1> $a </h1>"
    else
      echo "<h1> 資料庫查詢結果:</h1>"
      b=$(mysql -u "$DB_user" -h "$DB_ip" -p"$DB_passwd" -e "show databases;")
      echo "<h1> $b </h1>"
    fi
    ;;
  *)
    echo -e "Error ! \nYour SQL Command now is > ${Action} DATABASE ${DB_name};"
    ;;
esac

echo '</pre>'
echo '</body></html>'
exit 0