mirror of
https://github.com/nushell/nushell
synced 2024-11-15 17:27:58 +00:00
48f535f02e
* Display aliases and custom commands in which; Fix #2810 Example output of nu after the commit is applied: ```shell /home/leo/repos/nushell(feature/which_inspect_alias)> def docker-ps [] { docker ps --format '{{json .}}' | from json -o } /home/leo/repos/nushell(feature/which_inspect_alias)> which docker-ps ───┬───────────┬────────────────────────┬───────── # │ arg │ path │ builtin ───┼───────────┼────────────────────────┼───────── 0 │ docker-ps │ nushell custom command │ No ───┴───────────┴────────────────────────┴───────── /home/leo/repos/nushell(feature/which_inspect_alias)> alias d = gid pd /home/leo/repos/nushell(feature/which_inspect_alias)> which d ───┬─────┬───────────────┬───────── # │ arg │ path │ builtin ───┼─────┼───────────────┼───────── 0 │ d │ nushell alias │ No ───┴─────┴───────────────┴───────── ``` * Update documentation
105 lines
3.7 KiB
Markdown
105 lines
3.7 KiB
Markdown
# which
|
|
|
|
Finds a program file.
|
|
|
|
Usage:
|
|
> which <application> {flags}
|
|
|
|
## Parameters
|
|
|
|
- application: the name of the command to find the path to
|
|
|
|
## Flags
|
|
|
|
- --all: list all executables
|
|
|
|
## Examples
|
|
|
|
`which` finds the location of an executable:
|
|
|
|
```shell
|
|
> which python
|
|
─────────┬─────────────────
|
|
arg │ python
|
|
path │ /usr/bin/python
|
|
builtin │ No
|
|
─────────┴─────────────────
|
|
```
|
|
|
|
```shell
|
|
> which cargo
|
|
─────────┬────────────────────────────
|
|
arg │ cargo
|
|
path │ /home/bob/.cargo/bin/cargo
|
|
builtin │ No
|
|
─────────┴────────────────────────────
|
|
```
|
|
|
|
`which` will identify nushell commands:
|
|
|
|
```shell
|
|
> which ls
|
|
─────────┬──────────────────────────
|
|
arg │ ls
|
|
path │ nushell built-in command
|
|
builtin │ Yes
|
|
─────────┴──────────────────────────
|
|
```
|
|
|
|
```shell
|
|
> which which
|
|
─────────┬──────────────────────────
|
|
arg │ which
|
|
path │ nushell built-in command
|
|
builtin │ Yes
|
|
─────────┴──────────────────────────
|
|
```
|
|
|
|
Passing the `all` flag identifies all instances of a command or binary
|
|
|
|
```shell
|
|
> which ls --all
|
|
───┬─────┬──────────────────────────┬─────────
|
|
# │ arg │ path │ builtin
|
|
───┼─────┼──────────────────────────┼─────────
|
|
0 │ ls │ nushell built-in command │ Yes
|
|
1 │ ls │ /bin/ls │ No
|
|
───┴─────┴──────────────────────────┴─────────
|
|
```
|
|
|
|
`which` will also identify local binaries
|
|
|
|
```shell
|
|
> touch foo
|
|
> chmod +x foo
|
|
> which ./foo
|
|
─────────┬────────────────────────────────
|
|
arg │ ./foo
|
|
path │ /Users/josephlyons/Desktop/foo
|
|
builtin │ No
|
|
─────────┴────────────────────────────────
|
|
```
|
|
|
|
`which` also identifies aliases
|
|
|
|
```shell
|
|
> alias e = echo
|
|
> which e
|
|
───┬─────┬───────────────┬─────────
|
|
# │ arg │ path │ builtin
|
|
───┼─────┼───────────────┼─────────
|
|
0 │ e │ Nushell alias │ No
|
|
───┴─────┴───────────────┴─────────
|
|
```
|
|
|
|
and custom commands
|
|
|
|
```shell
|
|
> def my_cool_echo [arg] { echo $arg }
|
|
> which my_cool_echo
|
|
───┬──────────────┬────────────────────────┬─────────
|
|
# │ arg │ path │ builtin
|
|
───┼──────────────┼────────────────────────┼─────────
|
|
0 │ my_cool_echo │ Nushell custom command │ No
|
|
───┴──────────────┴────────────────────────┴─────────
|
|
```
|