繁体   English   中英

无法通过SSH运行Chef-solo命令

[英]Can't run chef-solo command through ssh

在我先SSH到服务器然后运行命令的情况下,它成功执行

root@chef:~# chef-solo -v
Chef: 11.10.0

但是当我尝试这样运行时

 ssh root@188.xxx.xxx.xxx -t -C "chef-solo -c /var/chef/solo.rb"

我收到一个错误:

bash: chef-solo: command not found

为什么会这样,我该如何解决呢?

它仍然是$PATH和ssh的问题- 不是 Chef-solo。 交互式和非交互式会话不一定具有$PATH变量相同的值。 此处在stackoverflow上描述相同的ssh问题。 您也可以查看GNU bash手册,以更深入地了解(非)交互和(非)登录外壳程序。 简而言之,解决方案将是以下之一:

  1. 使用绝对路径运行chef-solo。 这是你的命令可能什么样子:
    • ssh root@188.xxx.xxx.xxx -t -C“ / usr / local / ruby​​ / bin / chef-solo -c /var/chef/solo.rb”
  2. 调整.bash配置文件以为交互式和非交互式shell加载相同的$PATH变量。

注意: 要找出绝对路径 ,请通过ssh登录到计算机并运行which chef-solo (不知道您对Linux的经验如何。很抱歉,如果我低估了您的知识)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM