【问题标题】:preserve my env in linux screen在 linux 屏幕中保留我的环境
【发布时间】:2014-11-26 19:31:16
【问题描述】:

我的 ~/.bash_profile 中有多个自定义环境变量和函数,我希望在使用 screen -D -R 启动屏幕会话时自动调用它们,但显然在 ~/.screenrc 中添加 source ~/.bash_profile 并不能解决我的问题。

在每个新屏幕上,我都必须手动获取 bash_profile。

我注意到在创建新屏幕时找不到此文件(当您创建新屏幕时,底部有一行显示正在执行的命令,它返回找不到该文件。 )

【问题讨论】:

    标签: linux .bash-profile screenrc


    【解决方案1】:

    ~/.bash_profile 仅由登录 shell 运行。

    ~/.bashrc 由其他交互式 shell 运行,例如由 screen 启动的那些。

    ~/.screenrc是屏幕配置文件,不用于配置bash。

    将每个 shell 应设置的内容放入 ~/.bashrc,并将 source ~/.bashrc 添加到您的 ~/.bash_profile

    【讨论】:

    • 还是同样的问题,打开新屏幕时收到这个东西:.screenrc : source ~/.bashrc: No Such file or directory
    • @Amir 您似乎修改了.screenrc,而不是这里建议的.bash_profile
    • 我确实也更改了~/.bashrc,但只是把那个源代码让它运行它。
    • @Amir 它并没有像你想象的那样做。你应该删除它。要查看它是否有效,请将export MYTEST=foo 放入您的.bashrc,打开一个新的屏幕窗口,然后运行echo $MYTEST。确保不要混淆这三个文件。不要将导出行添加到.screenrc.bash_profile,只添加.bashrc
    【解决方案2】:

    您可以尝试将screen 配置为默认运行登录shell。

    屏幕运行一个子外壳,除非另有说明(参见“外壳”.screenrc 命令)。示例 .screenrc 运行登录 shell 的条目:

    shell -$SHELL
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 2015-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多