Итак, у меня есть несколько строк 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 , - нет. Так что теперь я очень растерялся. Любая помощь?

1 ответ1

0

Синтаксис Bash:

FOOBAR = "Баз"

У тебя есть:

$ FOOBAR = "Баз"

Можете ли вы загрузить снимок ваших текущих сценариев в веб-сервис хостинга, чтобы мы могли их посмотреть?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .