在 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