【问题标题】:How to source ~/.bashrc when ssh send command to remotessh 向远程发送命令时如何获取 ~/.bashrc
【发布时间】:2020-07-16 19:56:34
【问题描述】:

在10.10.99.10机器中,有一个~/.bashrc,有下面一行设置变量。

var="hello"

当我使用ssh user@10.10.99.10: echo ${var} 时,${var} 为空。
所以我猜~/.bashrc 在ssh的命令执行之前是没有source的。

我尝试ssh user@10.10.99.10: source ~/.bashrc; echo ${var},但没有任何改变。

如何在 ssh 的命令执行之前获取 ~/.bashrc?

【问题讨论】:

  • ssh user@10.10.99.10 'echo $var' / ssh user@10.10.99.10 '. ~/.bashrc; echo $var'
  • 不加引号,本地 shell 在 ssh 看到之前扩展 ${var}
  • 谢谢,我尝试不引用,但仍然没有显示。我仍然认为它不来源 ~/.bashrc

标签: ssh


【解决方案1】:

我找到了原因。 .bashrc的头部有以下几行

case $- in
    *i*) ;;
      *) return;;
esac

我回显 $- 这是hBc,所以它只是返回。

我评论这些行和所有作品。

【讨论】:

    猜你喜欢
    • 2012-07-16
    • 1970-01-01
    • 2019-12-20
    • 2010-12-07
    • 2015-03-27
    • 2016-04-28
    • 1970-01-01
    • 2020-05-16
    • 1970-01-01
    相关资源
    最近更新 更多