function

Langue: en

Version: 148942 (fedora - 04/07/09)

Section: 1 (Commandes utilisateur)

NAME

function - create a function

Synopsis

function [OPTIONS] NAME; BODY; end

Description

-d DESCRIPTION or --description=DESCRIPTION is a description of what the function does, suitable as a completion description
-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.
-p PID or --on-process-exit PID tells fish to run this function when the fish child process with process id PID exits
-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)
-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.

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.