如何在Google Colab中运行脚本外壳?

时间:2019-02-09 09:37:11

标签: python shell google-colaboratory

我想在colab中运行脚本外壳,我使用了“!”而且我也尝试过“ %% shell” enter image description here

2 个答案:

答案 0 :(得分:2)

!%ls应该都可以工作。我怀疑您的Shell脚本不在您当前的工作目录中。

您可以通过运行@Override public <T> T[] toArray(T[] a) { for (int i = 0; i < a.length; i++) { System.out.println(a[i]); } return a; }

来检查当前目录的内容

这是运行shell脚本的完整示例: https://colab.research.google.com/drive/1i5lHPcsmcgeoFEGg0Dfwjhblsm2iMExP

enter image description here

答案 1 :(得分:1)

如果您使用的是Shell,则不仅要调用context!!文件,还应该在自己的终端中遇到相同的错误。您的外壳程序不在当前目录中查找外壳程序命令,因此您需要在脚本中添加一些路径上下文,以使外壳程序知道它是一个实际的可运行程序,通常是通过在脚本之前添加一个点,例如use

.sh

代替

$ . testAllLatin.sh

在Unix Stack Exchange网站上检查What's the meaning of a dot before a command in shell?。最佳答案总结如下:

  

在这种情况下,点表示将文件的内容“提供”到当前shell中。 $ testAllLatin.sh 本身是shell内置命令。 source和点运算符是同义词。


就Colab和Notebooks而言,source魔术将整个单元格作为命令运行在Shell中。因此,您应该只需能够在单元格中使用以下内容:

%%shell

该爆炸只在shell中运行该行,因此您可以根据需要穿插Python。因此,您可以在一个单元格中执行以下操作:

%%shell
. path/to/testAllLatin.sh

也许最好使壳细胞保持分离。