Linux Bash - 使用远程 SSH 分配 Cassandra cqlsh 变量

问题描述 投票:0回答:1

对于 Cassandra 数据库,我运行此命令;

导出周='202328'

cqlsh -u $DSE_USERNAME -p $DSE_PASSWORD -e“从“Opscenter_XXXXX”中选择 backup_id、week、event_time、type、status。backup_reports 其中 week = '$week' 且 type='backup' LIMIT 1 允许过滤;” |尾-n +4 |头 -n -2

结果是这样的:

Opscenter_76a7068a-b567-4458-bdc8-3899253c32a2_2023-07-16-15-00-00-UTC | 202328 | 202328 2023-07-16 15:00:00.000000+0000 |备份|成功

我也想通过 ssh 命令对远程服务器进行同样的操作:

导出周='202328'

ssh -q -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o BatchMode=yes $user@$host "..bash_profile ;cqlsh -u $user -p $password -e '选择 backup_id,week,event_time,type,来自“Opscenter_XXXXX”.backup_reports 的状态,其中 week = '$week' LIMIT 1 ALLOW FILTERING ;' | 尾部 -n +4 | 头部 -n -2 > 最后备份.txt"

:1:InvalidRequest:来自服务器的错误:code = 2200 [无效查询] message =“文本类型的“周”的无效整数常量(202328)”

ssh -q -o ConnectTimeout=10 -o StrictHostKeyChecking=no -o BatchMode=yes $user@$host "..bash_profile ;cqlsh -u $user -p $password -e '选择 backup_id,week,event_time,type,来自“Opscenter_XXXX”.backup_reports 的状态,其中 week = $week LIMIT 1 ALLOW FILTERING ;' | 尾部 -n +4 | 头部 -n -2 > 最后备份.txt"
:1:InvalidRequest:来自服务器的错误:code = 2200 [无效查询] message =“文本类型的“周”的无效整数常量(202328)”

我该如何解决这个问题?

谢谢你

linux bash cassandra cql cqlsh
1个回答
0
投票

我怀疑这是由 week 周围的单引号引起的,它已经在单引号的上下文中(在您的 select 语句周围)。

我想我会尝试转义 $week 周围的单引号...但你可能需要稍微尝试一下

© www.soinside.com 2019 - 2024. All rights reserved.