Використовуйте .bashrc на окремому екрані


0

Отже, у мене є купа export ...змінних рядків середовища .bashrc, і я хотів би зателефонувати до деяких програм (зокрема, ноутбука Юпітера), які потребують доступу до цих ноутбуків screen, а також екрана, який спочатку відокремлений.

Я спочатку спробував (у сценарії під назвою jupyter.sh)

screen -dRR foobar jupyter notebook --no-browser

але оскільки відокремлений екран не є ні входом, ні інтерактивним, ані .bash_profile(які лише джерела .bashrc), ані .bashrcсам його джерелами, і тому мій ноутбук не мав доступу до визначень у них.

Потім я спробував розкопатися .screenrc, але, схоже, не існує рівнозначної exportкоманди для screenrc, тому я вирішив як вирішити використовувати другий скрипт bash ._juypter, який просто вручну викликає джерело перед тим, як викликати ноутбук Юпітера:

#!/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

Синтаксис Bash:

FOOBAR = "баз"

Ти маєш:

$ FOOBAR = "баз"

Чи можете ви завантажити знімок своїх поточних сценаріїв до веб-сервісу хостингу, щоб ми могли їх переглянути?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.