【问题标题】:path variable inconsistency when using ssh使用 ssh 时路径变量不一致
【发布时间】:2014-06-18 19:39:13
【问题描述】:

我这样做了:

ssh me@remote which hg

大概没有返回任何内容,因为它找不到 hg。

然后我这样做了:

ssh me@remote echo $PATH

它返回了这么长的混乱:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/usr/texbin:/opt/bin

然后我这样做了:

ssh me@remote
<after getting logged in to the remote computer>
which hg
/opt/bin/hg

为什么服务器能够在一个实例中找到 hg 二进制文件,但不能在两个实例中找到?你需要做些什么来修复它,所以

ssh me@remote which hg 

有效吗?

【问题讨论】:

  • 试试ssh me@remote echo $(which hg),虽然我不知道为什么它不能以其他方式工作。并且which 应该会在找不到程序的情况下进行投诉,因此PATH 未设置可能不是问题。
  • 我一直看到哪个打印名称指向的程序的路径(即哪个 ls 将打印 /bin/ls),如果没有这样的程序,它什么也不打印,但它返回 1。
  • 我没有你丰富的经验,但在我的系统上它抱怨得相当痛苦。你试过我的建议了吗?
  • 我尝试了这个建议,但它在我的本地计算机上打印了 hg 二进制文件的位置。
  • 也许是ssh me@remove bash -c "which hg"(或任何你想要的shell)。

标签: bash ssh path


【解决方案1】:

这应该有效(正如 ooga 提到的那样)。

ssh me@remote "which hg || whereis hg" 

【讨论】:

    猜你喜欢
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    相关资源
    最近更新 更多