fish-shell/doc_src/function.txt

52 lines
1.5 KiB
Text
Raw Normal View History

\section function function - create a function
\subsection function-synopsis Synopsis
<tt>function [OPTIONS] NAME; BODY; end </tt>
\subsection function-description Description
- <tt>-d DESCRIPTION</tt> or \c --description=DESCRIPTION is a description of what the function does, suitable as a completion description
- \c -b or \c --key-binding specifies that the function is a key biding. Key binding functions work exactly like regular functions except that they can not be tab-completed, and may contain the '-' character.
This builtin command is used to create a new function. A Function is a
list of commands that will be executed when the name of the function
is entered. The function
<pre>
function hi
echo hello
end
BB</pre>
will write <tt>hello</tt> whenever the user enters \c hi.
If the user enters any additional arguments after the function, they
are inserted into the environment variable <a href="index.html#variables-arrays">array</a> argv.
\subsection function-example Example
<pre>function ll
ls -l $argv
</pre>
will run the \c ls command, using the \c -l option, while passing on any additional files and switches to \c ls.
A
<pre>
function mkdir -d "Create a directory and set CWD"
mkdir $argv
if test $status = 0
switch $argv[(count $argv)]
case '-*'
case '*'
cd $argv[(count $argv)]
return
end
end
end
</pre>
will run the mkdir command, and if it is succesfull, change the
current working directory to the one just created.