sqlite 命令的 Bash 脚本

sqlite 命令的 Bash 脚本

我希望运行一个 bash 脚本,该脚本要求在 sqlite 查询中使用一个变量。

我在脚本编写方面没有真正的经验,无论如何我已经尝试过类似以下的方法,但它不起作用。甚至没有给出错误,只是不显示任何内容。

#!/bin/bash
echo name   
read name   
sqlite3 /arch.db << 'EOF'
.headers on
select type, number, address from documents where name = '$name';
EOF

我将不胜感激任何帮助。

答案1

在回答您的脚本之前:您确定路径正确吗?此路径:sqlite3 /arch.db表示arch.db在 root 中搜索/

也许你的意思是./arch.db?这样 sqlite db 文件就会在脚本的同一路径中查找吗?

请注意,** $namevar 用两个引号引起来',这意味着该变量不被视为变量,而是被视为字符串。

您的脚本可以这样重写:

#!/bin/bash
echo name   
read name   
sqlite3 ./arch.db <<EOF
.headers on
select type, number, address from documents where name = "$name";
EOF

相关内容