保存Shell脚本SQLite的结果选择语句到变量

时间:2013-04-15 09:51:32

标签: linux sqlite shell

我是shell脚本的新手,我只是在做它们因为我学习的时间和工作需要。

我一直在环顾四周,并尝试了多种方法来实现这一目标,但似乎无法弄明白。

我有一个脚本,我想在其中访问SQLite数据库并将select语句的结果存储在变量中。

我到目前为止所做的一切

这个只是回应了撇号内的什么。如果我在撇号之前删除美元符号,我会得到相同的结果。

track_name=$'sqlite3 "$database_name" << EOF
select name from track where id = "$required_track";
exit;
EOF'

这里我在“track_name”

附近收到语法错误
sqlite3 "$database_name" << EOF
track_name='select name from track where id = "$required_track";'
exit;
EOF

我已经成功执行了select语句而没有尝试将它存储在一个变量中,但是对我来说没有多少用处而不能存储它......

非常感谢任何帮助

1 个答案:

答案 0 :(得分:2)

要将命令的输出存储到BASH变量中,您应该使用:

VAR_NAME=$(command);

例如,如果要将系统当前时间存储到变量或 列表目录命令ejecution的结果:

DATE_EXAMPLE_VAR=$(date); #Stores 'date' command output into DATE_EXAMPLE_VAR
echo $DATE_EXAMPLE_VAR; #Shows DATE_EXAMPLE_VAR contents

DIRCONTENTS=$(ls); #Stores a list of your current directory contents.

同样,这适用于sqlite3

track_name=$(sqlite3 "$database_name" "select name from track where id = $required_track")