我正在尝试在一个Jupyter笔记本外壳中结合使用Python和bash命令,但是只有python变量有效,而使用这些python变量的bash命令却无效。这是一个例子
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
。我不明白我在做什么错。任何帮助表示赞赏。
答案 0 :(得分:0)
我想每一个运行结束的shell命令!cmd
都会启动一个新的bash实例。因此,变量AUTH_HEADER
在bash实例之间不共享。尝试使用bash运行cell并在下面运行脚本
%bash
AUTH_HEADER=$(curl -su "$username":"$password" "https://de.cyverse.org/terrain/token" | jq -r .access_token)
export AUTH_HEADER
echo "$AUTH_HEADER"