Используйте .bashrc на отдельном экране

256
linkhyrule5

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

0

1 ответ на вопрос

0
Realraptor

Синтаксис Bash:

FOOBAR = "Баз"

У тебя есть:

$ FOOBAR = "Баз"

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

Похожие вопросы