function(1) fish function(1)
NAME
function - create a function
Synopsis
function [OPTIONS] NAME; BODY; end
Description
o -d DESCRIPTION or --description=DESCRIPTION is a description of what
the function does, suitable as a completion description
o -e or --on-event EVENT_NAME tells fish to run this function when the
specified named event is emitted. Fish internally generates named
events e.g. when showing the prompt.
o -j PID or --on-job-exit PID tells fish to run this function when the
job with group id PID exits. Instead of PID, the string 'caller' can
be specified. This is only legal when in a command substitution, and
will result in the handler being triggered by the exit of the job
which created this command substitution.
o -p PID or --on-process-exit PID tells fish to run this function when
the fish child process with process id PID exits
o -s or --on-signal SIGSPEC tells fish to run this function when the
signal SIGSPEC is delivered. SIGSPEC can be a signal number, or the
signal name, such as SIGHUP (or just HUP)
o -v or --on-variable VARIABLE_NAME tells fish to run this function
when the variable VARIABLE_NAME changes value
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
function hi
echo hello
end
will write hello whenever the user enters hi.
If the user enters any additional arguments after the function, they
are inserted into the environment variable array argv.
By using one of the event handler switches, a function can be made to
run automatically at specific events. The user may generate new events
using the <a href='emit'>emit builtin. Fish generates the following
named events:
o fish_prompt, which is emitted whenever a new fish prompt is about to
be displayed
o fish_command_not_found, which is emitted whenever a command lookup
failed
Example
function ll
ls -l $argv
end
will run the ls command, using the -l option, while passing on any
additional files and switches to ls.
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
will run the mkdir command, and if it is successful, change the current
working directory to the one just created.
Version 1.23.1 8 Mar 2009 function(1)
fish 1.23.1 - Generated Sun Mar 8 14:08:12 CDT 2009
