因此,我的 中有一堆export ...
环境变量行.bashrc
,我想调用一些需要从 这些笔记本访问的程序(特别是 Jupyter 笔记本)screen
,此外还有一个最初分离的屏幕。
我最初尝试(在一个名为的脚本中jupyter.sh
)
screen -dRR foobar jupyter notebook --no-browser
但由于分离的屏幕既不是登录屏幕也不是交互屏幕.bash_profile
(只是来源.bashrc
).bashrc
,它本身也没有来源,所以我的笔记本无法访问其中的定义。
然后我尝试深入研究.screenrc
,但似乎没有与export
screenrc 等效的命令,因此我决定使用第二个 bash 脚本作为解决方法,._juypter
该脚本在调用 Jupyter notebook 之前手动调用 source:
#!/bin/bash
source .bashrc
jupyter notebook --no-browser
但那也不起作用,我真的不知道为什么。我认为是命令source
没有按照我想要的方式执行 - 如果我echo $LD_LIBRARY_PATH$
在中间插入source
,juypter
我会在新屏幕的顶部得到一个空行,如果我将echo "foobar"
其放入 .bashrc 中,则在屏幕加载时看不到任何内容。
这真的奇怪的是,虽然export $FOOBAR="baz"
在我的 .bashrc 中创建一个新变量并尝试echo $FOOBAR
按预期工作,但如果我source .bashrc
在运行屏幕脚本之前手动执行此操作jupyter.sh
,那么echo $FOOBAR
做工作 - 我baz
在屏幕顶部看到一个!但即便如此,我真正想要的东西,,echo $LD_LIBRARY_PATH
却没有。所以现在我非常很困惑。有什么帮助吗?
答案1
Bash 语法:
FOOBAR="巴兹"
你有:
$FOOBAR="巴兹"
您能将当前脚本的快照上传至托管网络服务以便我们查看吗?