Я создаю скрипт на bash.Этот скрипт будет делать то же самое, что и база данных MySQL, я уже собрал функции SELECT, INSERT, UPDATE, DELETE, и я уже создал для него меню входа.Теперь последнее, что мне нужно сделать, - это иметь возможность вставлять операторы SQL в командную строку после запуска сценария. Я уже создал функцию, позволяющую вводить «--help» в командной строке для запуска справки.функция.Я также уже создал опцию для ввода команды SELECT в командной строке, например:
./database.sh SELECT name FROM student
Это покажет полный список имен, доступных в базе данных.Но я не могу заставить работать приведенный ниже оператор:
Например:
./database.sh SELECT * FROM student
Это должно показать полную базу данных, которая доступна.Это не так, я уже думал о том, чтобы убежать от символа *, но это также не работает.До сих пор я создал этот фрагмент кода, который будет проходить перед тем, как запускать какие-либо функции.
if [ -z $1 ]; then
Inlog
else
if [ "$1" = "--help" ] ; then
Help
else
case "$*" in
"SELECT naam FROM student")
echo "Hieronder is een overzicht van de namen van de studenten die aanwezig zijn in de database."
echo "------------------------"
cat $naam_dir
;;
"SELECT nummer FROM student")
echo "Hieronder is een overzicht van de studentnummers van de studenten die in de database aanwezig zijn."
echo "------------------------"
cat $nummer_dir
;;
"SELECT mail FROM student")
echo "Hieronder is een overzicht van de e-mail adressen van de studenten die in de database aanwezig zijn."
echo "-----------------------"
cat $mail_dir
;;
"SELECT \*\ FROM student")
paste $naam_dir $nummer_dir $mail_dir | expand t-20
*)
exit
;;
esac
fi
fi
Я надеялся, что кто-нибудь может помочь мне избежать этих символов.SQL-запрос также должен заканчиваться символом «;», так как я также не смог выполнить это в bash ... Возможно, у кого-то есть идея.