簡體   English   中英

編寫Bash腳本以獲取在容器中運行的Jupyter Notebook的令牌

[英]Writing a Bash Script to Get the Token of a Jupyter Notebook Running in a Container

我運行Dockerized Jupyter Server,但不想手動獲取其訪問令牌。 所以我想寫一個bash腳本來提取令牌並用它打開服務器

我嘗試如下:

docker run --name notebook -w /home/fenics -v $(pwd):/home/fenics/shared -d -p 127.0.0.1:8888:8888 quay.io/fenicsproject/stable 'jupyter-notebook --ip=0.0.0.0'
token=`docker logs notebook 2>&1 | grep -o "token=[a-z0-9]*" | sed -n 1p`
google-chrome http://127.0.0.1:8888/?$token

但是,它不起作用。 由於docker logs notebook命令與腳本之前的命令在同一行中以腳本或控制台的形式編寫,因此不會輸出任何內容。 但是,如果您在終端中一一寫入命令,則可以。 請告訴我如何解決問題(即使解決方案不同也可以),並解釋為什么我的代碼無法工作(我想知道,因為它已經是我要解決的第二個問題這條路)

不要使用``而是$()。 我認為外殼可能有所不同。

我只是嘗試了,它奏效了

token=$(docker logs notebook 2>&1 | grep -o "token=[a-z0-9]*"| sed -n 1p)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM