修改“屏幕”中的路径

修改“屏幕”中的路径

在 bash 中,我使用 ssh 访问集群,然后使用 conda 环境,在这些环境中我使用“screen”。我安装的一个程序无法运行,因为“screen”设置了不同的路径。它在“screen”之外运行良好。我认为 miniconda 在安装程序时这样做了。我查看了所有文档,但找不到删除 $PATH 的前两三个部分的方法,我认为这些部分导致了问题。我无法找到包含要删除的行的文件。

如果没有“屏幕”,则 echo $PATH 给出;

/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/perl5/bin:/home/ubuntu/miniconda3/envs/roary-three/bin:/home/ubuntu/miniconda3/condabin:/home/ubuntu/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

当在“屏幕”中时,我得到了一个版本;

/home/ubuntu/perl5/bin:/home/ubuntu/miniconda3/bin:/home/ubuntu/miniconda3/envs/roary-three/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/perl5/bin:/home/ubuntu/miniconda3/condabin:/home/ubuntu/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

有人能帮我去掉这些线吗?

更新;
我已设法通过使用使程序工作

export PATH=/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/perl5/bin:/home/ubuntu/miniconda3/envs/roary-three/bin:/home/ubuntu/miniconda3/condabin:/home/ubuntu/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

但我不知道如何在“屏幕”中使其永久存在,因为我不知道它正在修改哪个文件。

答案1

看过之后其他人的解决方案,似乎有screen消息称~/.bashrc 或者 ~/.bash_profile对于不同的人。

您在~/.screenrc处理“shell”时遇到过任何问题吗?您能告诉我们在哪个点文件中$PATH创建了正确的点文件吗?您需要确保screen该文件的来源,如果不知道哪个文件为您提供了正确的点文件,就很难为您提供明确的说明$PATH


您应该确保您的文件~/.bash_profile source正确无误~/.bashrc。您可以详细了解这两个文件之间的区别,但总而言之,该~/.bash_profile文件是您通过 登录时获取的ssh,因此要么将您的配置放在该文件中,要么让它获取您的主文件(~/.bashrc)。

$ cat ~/.bash_profile 
#
# ~/.bash_profile
#

[[ -f ~/.bashrc ]] && source ~/.bashrc

笔记:您可能还对了解以及感兴趣~/.profile,但这对您当前的目标来说不是必需的。~/.xsessionrc~/.xinitrc

相关内容