Bash: How to invoke command and store the result in a variable?

29,700

Solution 1

You most likely want to use batch mode (-B) and disable column names (--disable-column-names) for non-interactive mysql output:

out=$(mysql -B -db mydb -uanon -ppwd --disable-column-names  -e "select count(*) from table1";)

Solution 2

$ A=$(mysql -uanon -ppwd -db mydb -e "select count(*) from table1")
$ echo $A

In other words, use the $() syntax.

Share:
29,700

Related videos on Youtube

Sergey  Brill
Author by

Sergey Brill

Updated on July 09, 2022

Comments

  • Sergey  Brill
    Sergey Brill almost 2 years

    Basically I want to be able to invoke a given command, in this case mysql -uanon -ppwd -db mydb -e "select count(*) from table1". And then take this commands result (the count on that table) and place it in a variable in bash script. What is the simplest way to achieve this?

  • Sudhanshu Mishra
    Sudhanshu Mishra almost 7 years
    For Linux newbies, make sure there are no spaces between variable name, the = sign and the expression that follows. Bad things can happen.