シェルの中のシェル

複数のディレクトリで作業する

ひとつのディレクトリで作業することが一般的ですが、同時に複数の場所で作業できれば便利です。このため、Nu は"shells"という概念を提供します。その名の通り、これらは同じ場所で複数のシェルを実行する方法であり、作業ディレクトリ間をすばやく移動することができます。

まずはじめに、ディレクトリを入力しましょう。

/home/sophia/Source/nushell(main)> enter ../book
/home/sophia/Source/book(main)> ls
────┬────────────────────┬──────┬────────┬─────────────
 #  │ name               │ type │ size   │ modified
────┼────────────────────┼──────┼────────┼─────────────
  0 │ 404.html           │ File │  429 B │ 2 hours ago
  1 │ CONTRIBUTING.md    │ File │  955 B │ 2 hours ago
  2 │ Gemfile            │ File │ 1.1 KB │ 2 hours ago
  3 │ Gemfile.lock       │ File │ 6.9 KB │ 2 hours ago

enterはディレクトリの変更に似ています(cdコマンドでみたように)。これによりディレクトリにジャンプして作業することができます。ディレクトリを変更するかわりに、今2つのディレクトリの中にいます。このことをより明確にするために、shellsコマンドを実行して、アクティブな現在のディレクトリの一覧を表示してみましょう。

/home/sophia/Source/book(main)> enter ../music
/home/sophia/Source/music(main)> shells
───┬────────┬─────────────────────────────
 # │ active │             path
───┼────────┼─────────────────────────────
 0 │ false  │ /home/sophia/Source/nushell
 1 │ false  │ /home/sophia/Source/book
 2 │ true   │ /home/sophia/Source/music
───┴────────┴─────────────────────────────

shellsコマンドは現在3つのシェルが存在していることを示しています。もともといた"nushell"のソースディレクトリと、"book"ディレクトリ、それに現在アクティブになっている"music"ディレクトリです。

"next"、"previous"、"goto"のショートカットであるnpgを利用して、これらのシェルを行き来できます。

/home/sophia/Source/music(main)> p
/home/sophia/Source/book(main)> n
/home/sophia/Source/music(main)> g 0
/home/sophia/Source/nushell(main)>

ディレクトリを変更できることがわかります。そしていつでも元いた作業ディレクトリに戻ることができるのです。これにより、同じセッションにいながら複数のディレクトリで作業できます。

シェルを終了する

dexitコマンドを利用してenterしたシェルを終了することができます。

複数のシェルが存在しているときでも、exitを使用すればいつでもNuを終了することができます。