Невозможно напечатать переменные bash в ячейке ноутбука Jupyter - PullRequest
0 голосов
/ 27 января 2019

Я пытаюсь объединить команды Python и bash в одной оболочке ноутбука Jupyter, но работают только переменные python, но не команды bash, использующие эти переменные python.Вот пример

username="test_username"
password = getpass.getpass(prompt='Enter your password: ')
!echo "$username"
!echo "$password"
!AUTH_HEADER=$(curl -su "$username":"$password" "https://de.cyverse.org/terrain/token" | jq -r .access_token)
!export AUTH_HEADER
!echo "$AUTH_HEADER"

Когда я пытался выполнить это в ячейке ноутбука Jupyter, это то, что я вижу с пустой пустой строкой для переменной AUTH_HEADER.

Enter your password:  ·············
test_username
test123

Я также могповторить имя пользователя и пароль, но не AUTH_HEADER.Я не понимаю, что я делаю здесь не так.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 27 января 2019

Полагаю, каждая команда запуска без оболочки !cmd запускает новый экземпляр bash.Таким образом, переменная AUTH_HEADER не используется совместно экземплярами bash.Попробуйте запустить ячейку с bash и запустить там свой скрипт, как показано ниже

%bash
AUTH_HEADER=$(curl -su "$username":"$password"  "https://de.cyverse.org/terrain/token" | jq -r .access_token)
export AUTH_HEADER
echo "$AUTH_HEADER"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...