mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-04 00:53:41 +08:00
4c9903cd66
darcs-hash:20050920235718-ac50b-a6e0fc1960a8172415fb8a5ebcce81f921d87b10.gz
52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
\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
|
|
</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.
|
|
|
|
<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.
|
|
|