首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ssh中执行cassandra-cli命令时出错。

在ssh中执行cassandra-cli命令时出错。
EN

Stack Overflow用户
提问于 2013-08-21 10:08:34
回答 1查看 435关注 0票数 0

我有两个服务器A和B,在serverA中有一个shell脚本,它登录到serverB (通过ssh)并运行以下命令:

代码语言:javascript
复制
sh cassandra-cli -h <serverB> -v -f database_import.txt;

因此,当我手动执行此操作时,我遵循以下步骤:

代码语言:javascript
复制
serverA:~$ ssh serverB
serverB:~$ sh cassandra-cli -h <serverB> -v -f database_import.txt;

当我手动执行这些步骤时,它会正常工作,但是当我在shell脚本中通过以下一行自动执行这个过程时,它会正常工作:

代码语言:javascript
复制
serverA:~$ssh serverB "sh cassandra-cli -h <serverB> -v -f database_import.txt;"

我知道这个错误,

代码语言:javascript
复制
cassandra-cli: 46: cassandra-cli: -ea: not found
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-22 05:15:02

因此,正如您已经指出的,$JAVA在ssh中是空的。

这是因为当您使用.bashrc登录时,没有来源于ssh。您可以这样获取它:

代码语言:javascript
复制
. ~/.bashrc

你的命令会是这样的:

代码语言:javascript
复制
ssh serverB ". ~/.bashrc; sh cassandra-cli -h <serverB> -v -f database_import.txt;"

您也可以尝试将其放入您的配置文件中,而不是每次手动调用它。

代码语言:javascript
复制
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18354590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档