无法使用 bash 脚本变量在 cassandra cli 上执行查询

无法使用 bash 脚本变量在 cassandra cli 上执行查询

尝试通过 bash 脚本中的变量为 cassandra 命令行执行查询,但失败。

脚本:

[ec2-user@ip-192-2-2-7 tmp]$ cat a.sh
#!/bin/bash
IP=192.2.2.7
EQ='SELECT id,name,title FROM student where id=100'
echo $IP
echo $EQ
xyz=`echo \"$EQ\"`
echo "======"
echo $xyz
/usr/bin/cqlsh $IP -e $xyz
[ec2-user@ip-192-2-2-7 tmp]$

执行

[ec2-user@ip-192-2-2-7 tmp]$ sh a.sh
192.2.2.7
SELECT id,name,title FROM student where id=100
======
"SELECT id,name,title FROM student where id=100"
Usage: cqlsh.py [options] [host [port]]

cqlsh.py: error: 'filename,' is not a valid port number.
[ec2-user@ip-192-2-2-7 tmp]$

有人可以建议为什么在执行 /usr/bin/cqlsh $IP -e $xyz 时无法调用变量

如果我手动运行以下命令,它工作正常,但不能通过脚本中的变量运行。

/usr/bin/cqlsh 192.2.2.7 -e "从学生中选择 id、姓名、职称,其中 id=100"

相关内容