Итак, у меня есть несколько строк export ...
переменных среды в моем .bashrc
, и я хотел бы вызвать некоторые программы (в частности, блокнот Jupyter), которым нужен доступ с этих ноутбуков с screen
, и, более того, экран, который изначально отсоединена.
Я изначально пытался (в сценарии под названием jupyter.sh
)
screen -dRR foobar jupyter notebook --no-browser
но поскольку отсоединенный экран не является ни логином, ни интерактивным, ни .bash_profile
(который является просто источником .bashrc
), ни сам .bashrc
были получены, и поэтому у моей записной книжки не было доступа к определениям в них.
Затем я попытался покопаться в .screenrc
, но не похоже, что есть эквивалентная команда export
для screenrc, поэтому я решил в качестве обходного пути использовать второй скрипт bash, ._juypter
, который просто вызывает исходный код перед вызовом ноутбука Jupyter:
#!/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
, - нет. Так что теперь я очень растерялся. Любая помощь?