6

如果我以部署用户身份 ssh 进入我的 VPS 并运行,bundle -v我会得到Bundler version 1.1.5预期的结果。

如果我跑ssh deployment@123.123.123.123 bundle -v,我会看到bash: bundle: command not found

为什么不显示 bundle 通过 ssh 运行命令?

更多信息

$ cat ~/.bashrc

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

if [ -d "${RBENV_ROOT}" ]; then
  export PATH="${RBENV_ROOT}/bin:${PATH}"
  eval "$(rbenv init -)"
fi

# If not running interactively, don't do anything
[ -z "$PS1" ] && return
4

1 回答 1

3

当你运行时:

ssh deployment@123.123.123.123

您在远程主机上获得了一个登录 shell,这意味着您的 shell 将运行 (...for bash...).bash_profile.profile等效的以及您的 per-shell 初始化文件。

当你运行时:

ssh deployment@123.123.123.123 some_command

这不会启动登录 shell,因此它只运行每个 shell 的初始化文件(例如,.bashrc)。

您描述的问题通常意味着您需要.profile文件中的某些内容(通常是环境变量设置)才能使一切正常工作。

于 2012-07-31T01:35:09.940 回答