0

Following

mysql -u root -ppassword -D database -s -N -e "SELECT id FROM myTable"

with special password and database is working fine.

I want to split the code into two parts:

  1. Executional part:

    mysqlE=mysql -u root -ppassword -D database -s -N -e

and

  1. MySQL command part:

    query="SELECT id FROM myTable"

to execute it with something similar like:

mysqlE query

How can I do this?

  • 1
    passing a password on the command line is a bad idea as it can easily be viewed from /proc or by running ps. See http://unix.stackexchange.com/a/205184/7696 for a better alternative. Remember to chmod 600 the config file. – cas Oct 21 '15 at 00:02

1 Answers1

0

You almost have it already for a shell script:

#!/bin/bash

mysqlE="mysql -u root -ppassword -D database -s -N -e"
query="SELECT id FROM myTable"
$mysqlE "$query"

Another way is to put the mysql command in a function (put it in ~/.bashrc for instance)

function mysqlE()
{
    mysql -u root -ppassword -D database -s -N -e "$@"
}

from a new shell or source ~/.bashrc use

mysqlE "$query"
Lambert
  • 12,680