aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc_src/alias.txt
blob: cbb9508eb3f0a7db851c53ec24b4581f72c8b06f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
\section alias alias - create a function

\subsection alias-synopsis Synopsis
\fish{synopsis}
alias NAME DEFINITION
alias NAME=DEFINITION
\endfish

\subsection alias-description Description

`alias` is a simple wrapper for the `function` builtin. It exists for backwards compatibility with Posix shells. For other uses, it is recommended to define a <a href='#function'>function</a>.

`fish` does not keep track of which functions have been defined using `alias`. They must be erased using `functions -e`.

- `NAME` is the name of the alias

- `DEFINITION` is the actual command to execute. The string `$argv` will be appended.

You cannot create an alias to a function with the same name.

Note that spaces need to be escaped in the call to alias just like in the commandline _even inside the quotes_.


\subsection alias-example Example

The following code will create `rmi`, which runs `rm` with additional arguments on every invocation.

\fish
alias rmi "rm -i"

# This is equivalent to entering the following function:

function rmi
    rm -i $argv
end

# This needs to have the spaces escaped or "Chrome.app..." will be seen as an argument to "/Applications/Google":

alias chrome='/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome banana'
\endfish