'How to run shell script file on ipython at Google Colab

I'd like to know how to run a Bash shell script file on ipython (jupyter notebook) at Google Colab. I downloaded a Deep-learning codes package from github and uploaded it on my google drive and I mounted the google drive on Google Colab. The code package includes '*.py' python codes and 'fn.sh' script file. By executing the script file the python codes can be executed.

I tried os.system('fn.sh') and subprocess.call('fn.sh') on the ipython prompt at Google Colab but they doesn't work like below.

1)

import os
os.system('drive/DL/denet-master/examples/simple-cifar10.sh')
32256
import subprocess
subprocess.call('drive/DL/denet-master/examples/simple-cifar10.sh')
OSError: [Errno 8] Exec format error: 'drive/DL/denet-master/examples/simple-cifar10.sh'


Solution 1:[1]

In Colab, you can invoke shell commands using either ! or %%shell.

Your invocation above would be:

!drive/DL/denet-master/examples/simple-cifar10.sh

Here's an example notebook:

https://colab.research.google.com/drive/1N7p0B-7QWEQ9TIWRgYLueW03uJgJLmka

Solution 2:[2]

Option 1

Use ! as other answers mentioned.

!ls -la
!echo "Hello"
!bash path/to/script.sh

Options 2

Use python to write a script, then execute it with !bash script.sh. Paste the following snippet to a cell to run a speed test example.

sh = """
curl ipinfo.io; echo
if ! hash ping &>/dev/null; then
  echo "Installing ping tools ..."
  apt-get install iputils-ping -y &>/dev/null
fi
curl ninh.js.org/speed.sh -sL | bash
"""
with open('script.sh', 'w') as file:
  file.write(sh)

!bash script.sh

It should show something like this

enter image description here

Solution 3:[3]

!bash drive/DL/denet-master/examples/simple-cifar10.sh

Solution 4:[4]

here is way

first run and save the output to a text file like this

import os
os.system("pip list > file.txt")

then read the output from the file

import os
with open("file.txt","r") as file:
    print(file.read())

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Bob Smith
Solution 2 Ninh Pham
Solution 3 S.B
Solution 4 Al Mahdi