首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Google Colab中运行shell (终端)?

如何在Google Colab中运行shell (终端)?
EN

Stack Overflow用户
提问于 2019-12-13 16:27:35
回答 4查看 45K关注 0票数 26

我知道我可以调用!ls向shell发出ls命令。

但我想要像历史或制表符完成这样的功能。

在Google Colab中可以做到这一点吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-12-13 16:27:35

您可以使用google.colab.kernel.invokeFunction支持的jQuery终端仿真器

这是一个example notebook

关键部分在这里,您可以在这里使用shell函数来支持它。

代码语言:javascript
运行
复制
def shell(command):
  return JSON([getoutput(command)])
output.register_callback('shell', shell)

下面是如何使用invokeFunction

代码语言:javascript
运行
复制
try {
    let res = await google.colab.kernel.invokeFunction('shell', [command])
    let out = res.data['application/json'][0]
    this.echo(new String(out))
} catch(e) {
    this.error(new String(e));
}

这是一个截图。

更新(7/2020)

我接受了@Anant的答案并将其添加到我的库中。现在您只需简单地运行console

代码语言:javascript
运行
复制
!pip install kora
from kora import console
console.start()  # and click link

更新(12/2020)

如果您订阅Colab Pro,现在可以使用终端。只需单击左侧窗格中的“终端”图标。

票数 41
EN

Stack Overflow用户

发布于 2020-07-07 09:47:09

只需键入以下内容。它将生成一个bash会话。

代码语言:javascript
运行
复制
!bash
票数 13
EN

Stack Overflow用户

发布于 2020-06-17 01:52:02

最好试试这个-

  1. 在Colab上安装远程控制台,这是一个通过互联网使用终端的软件包- !curl https://www.teleconsole.com/get.sh | sh

  1. 在colab笔记本上运行下面的代码,以便在范围(6):print(process.stdout.readline().decode())中使用远程控制台-导入子进程as sp process =sp.Popen(“远程控制台”,shell=True,stdin=sp.PIPE,stdout=sp.PIPE,stderr=sp.PIPE)。

您应该会得到类似如下的输出:在localhost上启动本地SSH服务器...正在为根用户请求eu.teleconsole.com上的一次性SSH代理...正在检查SSH隧道的状态...此会话的远程控制台ID:https://eu.teleconsole.com/s/88d75d24084905shgdjhjhfgd1934e55c3786438a3:eu88d75d24084905shgdjhjhfgd1934e55c3786438a3 WebUI

  1. 可以通过访问终端的链接打开web界面,也可以打开本地外壳终端并使用- curl https://www.teleconsole.com/get.sh | sh命令安装远程控制台

然后使用下面的代码使用您在步骤2-远程控制台加入中获得的远程控制台Id加入终端

此方法还可以通过ssh进行隧道传输,这需要一些额外的步骤。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59318692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档