cqlsh相当于mysql -e

pca*_*cao 5 shell cassandra cqlsh

我正在尝试创建一个小的shell脚本,通过cqlsh直接从命令行运行命令对我来说非常方便.

在MySQL中我可以做类似的事情:

mysql -u root  -e "show databases;"
Run Code Online (Sandbox Code Playgroud)

是否有一个等效的cqlsh -e,或者是最接近的等价物放置我想要在文件中运行的任何命令并使用-f

谢谢

Aar*_*ron 5

对于一次性命令,cqlsh4.1.1也有一个-e选项:

$cqlsh -e 'desc keyspaces' -u myusername -p mypassword localhost

branch     stackoverflow  products  system_auth  
customers  system         branches  system_traces
Run Code Online (Sandbox Code Playgroud)

如果你有一些复杂的东西,比如一个多行的命令序列,那么-f选项cqlsh应该是你想要做的.为了演示,我将创建一个简单的cql脚本文件descTables.cql,其内容如下所示:

$ cat descTables.cql
use stackoverflow;
desc tables;
Run Code Online (Sandbox Code Playgroud)

现在,我将使用以下命令调用该cql脚本cqlsh -f:

$cqlsh -f descTables.cql -u myusername -p mypassword localhost

datasimple  items
Run Code Online (Sandbox Code Playgroud)

仅供参考 - 看起来最新版本的2.0有cqlsh4.1.1,它有-e旗帜.在我的一个实例中,我有4.1.0并且该-e选项不可用.

  • 这是通过https://issues.apache.org/jira/browse/CASSANDRA-7172完成的,该版本在2.0.9和2.1中 (2认同)