在分离的屏幕中使用 .bashrc

在分离的屏幕中使用 .bashrc

因此,我的 中有一堆export ...环境变量行.bashrc,我想调用一些需要从 这些笔记本访问的程序(特别是 Jupyter 笔记本)screen,此外还有一个最初分离的屏幕。

我最初尝试(在一个名为的脚本中jupyter.sh

screen -dRR foobar jupyter notebook --no-browser

但由于分离的屏幕既不是登录屏幕也不是交互屏幕.bash_profile(只是来源.bashrc.bashrc,它本身也没有来源,所以我的笔记本无法访问其中的定义。

然后我尝试深入研究.screenrc,但似乎没有与exportscreenrc 等效的命令,因此我决定使用第二个 bash 脚本作为解决方法,._juypter该脚本在调用 Jupyter notebook 之前手动调用 source:

#!/bin/bash
source .bashrc
jupyter notebook --no-browser

也不起作用,我真的不知道为什么。我认为是命令source没有按照我想要的方式执行 - 如果我echo $LD_LIBRARY_PATH$在中间插入sourcejuypter我会在新屏幕的顶部得到一个空行,如果我将echo "foobar"其放入 .bashrc 中,则在屏幕加载时看不到任何内容。

真的奇怪的是,虽然export $FOOBAR="baz"在我的 .bashrc 中创建一个新变量并尝试echo $FOOBAR按预期工作,但如果我source .bashrc在运行屏幕脚本之前手动执行此操作jupyter.sh,那么echo $FOOBAR 工作 - 我baz在屏幕顶部看到一个!但即便如此,我真正想要的东西,,echo $LD_LIBRARY_PATH却没有。所以现在我非常很困惑。有什么帮助吗?

答案1

Bash 语法:

FOOBAR="巴兹"

你有:

$FOOBAR="巴兹"

您能将当前脚本的快照上传至托管网络服务以便我们查看吗?

相关内容