shell - Capistrano 3 登录 shell

标签 shell capistrano

我已经尝试过使用

set :default_shell, '/bin/bash --login'
set :shell, '/bin/bash --login'

但它不起作用,可能的解决方案是将我的 bin 路径包含在/etc/environment 中,但由于我的安装过程是通过 Chef 自动完成的,所以我不能这样做。

有人知道解决方法吗?

我已经尝试将我的 bin 路径放在/etc/profile.d/* 和/etc/bash.bashrc 中,但是它们没有被加载,因为 capistrano 的 shell 是非交互/非登录的。

最佳答案

如果没有

,你不能为 Capistrano 使用登录 shell
`set :pty true` 

如果您只是想使用登录 shell 来加载 shell 变量或加载您的路径,您可以执行类似的操作

set :default_env, { :path => '$PATH:$HOME/bin:$HOME/.local/bin' }

关于shell - Capistrano 3 登录 shell ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23775822/

相关文章:

bash - 找不到 sed 命令

ruby-on-rails-3 - 在链接(符号链接(symbolic link))文件之前要求 Capistrano 运行任务

ruby-on-rails-4 - Rails 4 : How to add ENVIRONMENT VARIABLES on Ubuntu 14. 04 使用 RVM?

shell - 如何杀死所有匹配名称的进程?

string - 如何检查字符串是否包含 Bash 中的子字符串

linux - 在 Centos 6.2 中删除 bash 历史记录

ruby-on-rails - 2 个事件的 Rails 应用程序,1 个 Apache/乘客服务器?

ruby-on-rails - 在亚马逊 EC2 上使用 capistrano 部署到生产环境时, Assets 不会预编译

deployment - Capistrano 编译 Assets 错误 - Assets :precompile:nondigest?

java - 抑制 Shell 脚本中的关键字扩展