![无法使用 bash 脚本变量在 cassandra cli 上执行查询](https://linux22.com/image/177651/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20bash%20%E8%84%9A%E6%9C%AC%E5%8F%98%E9%87%8F%E5%9C%A8%20cassandra%20cli%20%E4%B8%8A%E6%89%A7%E8%A1%8C%E6%9F%A5%E8%AF%A2.png)
尝试通过 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"