5

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

在 MySQL 中,我可以执行以下操作:

mysql -u root  -e "show databases;"

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

谢谢

4

2 回答 2

5

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

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

branch     stackoverflow  products  system_auth  
customers  system         branches  system_traces

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

$ cat descTables.cql
use stackoverflow;
desc tables;

现在,我将调用该 cql 脚本cqlsh -f

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

datasimple  items

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

于 2014-06-11T13:00:49.290 回答
0

下面列出了更多选项:

  1. "-C", "--color", action='store_true', dest='color', help='始终使用颜色输出'
  2. "--no-color", action='store_false', dest='color', help='从不使用颜色输出'
  3. "-u", "--username", help="以用户身份验证。"
  4. "-p", "--password", help="使用密码验证。"
  5. '-k', '--keyspace', help='验证给定的键空间。
  6. "-f", "--file", help="从文件执行命令,然后退出"
  7. "-t", "--transport-factory", help="使用提供的 Thrift 传输工厂函数。"
  8. '--debug', action='store_true', help='显示附加调试信息'
    1. '--cqlversion', default=DEFAULT_CQLVER, help='指定特定的 CQL 版本(默认值:%default)。'' 示例:“3.0.3”、“3.1.0”'
于 2014-06-11T12:30:40.607 回答