2016-03-07 100 views
2

我在这里遇到了一个简单脚本的问题。只是找不到解决我的问题的文件化的帮助。Cassandra cql shell脚本

这是我的脚本。

#!/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壳我的文件。

- 执行和回声不工作,我真的不知道为什么我需要将cql语句保存到另一个文件。

任何帮助,将不胜感激。

回答

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;" 

我有一个简单的版本测试了这一点:

[email protected]:~/scripts$ cat getEmail.sh 
#!/bin/bash 

cqlsh -u cassandra -p cassandra -e "SELECT * FROm stackoverflow.users_by_email WHERe email='[email protected]';" 

[email protected]:~/scripts$ ./getEmail.sh 

email     | id         | username 
------------------------+--------------------------------------+---------- 
[email protected] | d8e57eb4-c837-4bd7-9fd7-855497861faf |  Mal 

(1 rows) 
[email protected]:~/scripts$ 
+0

是的,就是这样。谢谢你帮助一个傻瓜。 –

+0

@PA_Commons不用担心,我只是很高兴能帮到你! – Aaron