はじめに
Python の Jupyter だと !
を行頭につけることでシェルコマンドが実行できます
これにより、 Jupyter の中で apt-get
や git clone
などが実行でき、 Python だけでは完結できない部分に手を出すことができます
同様に、 Elixir の Livebook からも簡単にシェルコマンドを実行することが可能です
実装したノートブックはこちら
https://github.com/RyoWakabayashi/elixir-
learning/blob/main/livebooks/kino/kino_shell.livemd
セットアップ
Mix.install([
{:kino_shell, "~> 0.1.0"}
])
KinoShell をインストールします
スマートセルからのシェルコマンド実行
KinoShell をインストールした状態だと Shell Script のスマートセルが使えます
Shell Script のスマートセルを追加すると、以下のような表示になります
デフォルトでは echo "Hello world"
が入力されています
このまま左上の Evaluate を実行すると、シェルコマンドの実行結果が表示されます
例えばホームディレクトリーにある livemd
ファイルを検索してみましょう
コマンドは cd && ls -l | grep 'livemd'
です
見事に実行できました
例えば以下のように実行することで OS にパッケージを追加することも可能です
apt install -y postgresql-client
まとめ
KinoShell を使うことで、スマートセルから簡単にシェルコマンドが実行できました
ノートブック中に Elixir モジュール以外のインストールを行いたいときは往々にしてあるので、簡単にシェルコマンドが実行できるのは良いですね