mirror of
https://github.com/nushell/nushell.git
synced 2024-11-23 00:43:33 +01:00
6887554888
Opening a JSON with a top-level list, opens one shell per list element. This can be extremely confusing to unexpected users.
60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
# enter
|
|
|
|
This command creates a new shell and begin at this path.
|
|
|
|
## Examples
|
|
|
|
```shell
|
|
/home/foobar> cat user.json
|
|
{
|
|
"Name": "Peter",
|
|
"Age": 30,
|
|
"Telephone": 88204828,
|
|
"Country": "Singapore"
|
|
}
|
|
/home/foobar> enter user.json
|
|
/> ls
|
|
━━━━━━━┯━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━
|
|
Name │ Age │ Telephone │ Country
|
|
───────┼─────┼───────────┼───────────
|
|
Peter │ 30 │ 88204828 │ Singapore
|
|
━━━━━━━┷━━━━━┷━━━━━━━━━━━┷━━━━━━━━━━━
|
|
/> exit
|
|
/home/foobar>
|
|
```
|
|
|
|
It also provides the ability to work with multiple directories at the same time. This command will allow you to create a new "shell" and enter it at the specified path. You can toggle between this new shell and the original shell with the `p` (for previous) and `n` (for next), allowing you to navigate around a ring buffer of shells. Once you're done with a shell, you can `exit` it and remove it from the ring buffer.
|
|
|
|
```shell
|
|
/> enter /tmp
|
|
/tmp> enter /usr
|
|
/usr> enter /bin
|
|
/bin> enter /opt
|
|
/opt> p
|
|
/bin> p
|
|
/usr> p
|
|
/tmp> p
|
|
/> n
|
|
/tmp>
|
|
```
|
|
|
|
## Note
|
|
|
|
If you `enter` a JSON file with multiple a top-level list, this will open one new shell for each list element.
|
|
|
|
```shell
|
|
/private/tmp> printf "1\\n2\\n3\\n" | lines | save foo.json
|
|
/private/tmp> enter foo.json
|
|
/> shells
|
|
───┬────────┬─────────────────────────┬──────────────
|
|
# │ active │ name │ path
|
|
───┼────────┼─────────────────────────┼──────────────
|
|
0 │ │ filesystem │ /private/tmp
|
|
1 │ │ {/private/tmp/foo.json} │ /
|
|
2 │ │ {/private/tmp/foo.json} │ /
|
|
3 │ X │ {/private/tmp/foo.json} │ /
|
|
───┴────────┴─────────────────────────┴──────────────
|
|
/>
|
|
```
|
|
|