从 Jupyter Notebook 响应 Shell 提示

Ale*_*x F 6 bash shell jupyter jupyter-notebook

使用!快捷方式从 Notebook 执行 shell 命令时,如何响应后续提示?

例如:!read varname似乎无限期地挂起内核,我无法运行另一个命令来响应。

像这样预测一个单元格中的提示也不起作用:

!read varname
!my_answer
!echo $varname
Run Code Online (Sandbox Code Playgroud)

单元格用 [*] 挂起

(这些是简化示例,实际用例需要响应“y/n”提示)

小智 1

临时 bash 子 shell 的输入流未连接到您的浏览器。向 jupyter 内核发送命令是单向的——没有交互。这里的 bash 也不例外。

状态更改(例如使用“cd”命令更改工作目录)需要特殊的实现工作:“魔术命令”。