Cassandra cql shell脚本

时间:2016-03-07 17:16:38

标签: shell cassandra cqlsh

我在这里遇到一个简单脚本的问题。只是找不到解决我问题的文档帮助。

这是我的剧本。

#!/bin/bash 

$VCOPS_BASE/cassandra/apache-cassandra-2.1.8/bin/cqlsh --ssl --cqlshrc  $VCOPS_BASE/user/conf/cassandra/cqlshrc 

-e "cql_statement;"

为了简单起见,我省略了cql,但每次从命令行运行我的文件时,我只需输入cql shell。

- 执行和echo也不起作用,我真的不确定为什么我需要将cql语句保存到另一个文件。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

那是因为-e是一个cqlsh选项,而不是一个独立的bash命令。因此,它需要与您的cqlsh命令位于相同的行。

#!/bin/bash 

$VCOPS_BASE/cassandra/apache-cassandra-2.1.8/bin/cqlsh --ssl --cqlshrc $VCOPS_BASE/user/conf/cassandra/cqlshrc -e "cql_statement;"

我用更简单的版本测试了这个:

aploetz@dockingBay94:~/scripts$ cat getEmail.sh
#!/bin/bash

cqlsh -u cassandra -p cassandra -e "SELECT * FROm stackoverflow.users_by_email WHERe email='mreynolds@serenity.com';"

aploetz@dockingBay94:~/scripts$ ./getEmail.sh 

 email                  | id                                   | username
------------------------+--------------------------------------+----------
 mreynolds@serenity.com | d8e57eb4-c837-4bd7-9fd7-855497861faf |      Mal

(1 rows)
aploetz@dockingBay94:~/scripts$