2016-03-07 78 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