This is the documentation for fish, the friendly interactive shell. fish is a user friendly commandline shell intended mostly for interactive use. A shell is a program used to execute other programs. For the latest information on fish, please visit the fish homepage.
Shells like fish are used by giving them commands. Every fish command follows the same simple syntax.
A command is executed by writing the name of the command followed by any arguments.
Example:
echo hello world
calls the echo command. echo is a command which will write its arguments to the screen. In the example above, the output will be 'hello world'. Everything in fish is done with commands. There are commands for performing a set of commands multiple times, commands for assigning variables, commands for treating a group of commands as a single command, etc.. And every single command follows the same simple syntax.
If you want to find out more about the echo command used above, read the manual page for the echo command by writing:
man echo
man is a command for displaying a manual page on a given topic. The man command takes the name of the manual page to display as an argument. There are manual pages for almost every command on most computers. There are also manual pages for many other things, such as system libraries and important files.
Every program on your computer can be used as a command in fish. If the program file is located in one of the directories in the PATH, it is sufficient to type the name of the program to use it. Otherwise the whole filename, including the directory (like /home/me/code/checkers/checkers or ../checkers) has to be used.
Here is a list of some useful commands:
cd, change the current directoryls, list files and directoriesman, display a manual page on the screenmv, move (rename) filescp, copy filesopen, open files with the default application associated with each filetypeless, list the contents of filesCommands and parameters are separated by the space character ( ). Every command ends with either a newline (i.e. by pressing the return key) or a semicolon (;). More than one command can be written on the same line by separating them with semicolons.
A switch is a very common special type of argument. Switches almost always start with one or more hyphens (-) and alter the way a command operates. For example, the ls command usually lists all the files and directories in the current working directory, but by using the -l switch, the behavior of ls is changed to not only display the filename, but also the size, permissions, owner and modification time of each file. Switches differ between commands and are documented in the manual page for each command. Some switches are common to most command though, for example '--help' will usually display a help text, '-i' will often turn on interactive prompting before taking action, while '-f' will turn it off.
Sometimes features such as parameter expansion and character escapes get in the way. When that happens, the user can write a parameter within quotes, either ' (single quote) or " (double quote). There is one important difference between single quoted and double quoted strings: When using double quoted string, variable expansion still takes place. Other than that, a quoted parameter will not be parameter expanded, may contain spaces, and escape sequences are ignored. The only backslash escape accepted within single quotes is \', which escapes a single quote and \\, which escapes the backslash symbol. The only backslash escapes accepted within double quotes are \", which escapes a double quote, \$, which escapes a dollar character, and \\, which escapes the backslash symbol. Single quotes have no special meaning withing double quotes and vice versa.
Example:
rm "cumbersome filename.txt"
Will remove the file 'cumbersome filename.txt', while
rm cumbersome filename.txt
would remove the two files 'cumbersome' and 'filename.txt'.
Some characters can not be written directly on the command line. For these characters, so called escape sequences are provided. These are:
'\a', escapes the alert character'\b', escapes the backspace character'\e', escapes the escape character'\f', escapes the form feed character'\n', escapes a newline character'\r', escapes the carriage return character'\t', escapes the tab character'\v', escapes the vertical tab character'\ ', escapes the space character'\$', escapes the dollar character'\\', escapes the backslash character'\*', escapes the star character'\?', escapes the question mark character'\~', escapes the tilde character'\%', escapes the percent character'\#', escapes the hash character'\(', escapes the left parenthesis character'\)', escapes the right parenthesis character'\{', escapes the left curly bracket character'\}', escapes the right curly bracket character'\[', escapes the left bracket character'\]', escapes the right bracket character'\<', escapes the less than character'\>', escapes the more than character'\^', escapes the circumflex character'\&', escapes the ampersand character'\;', escapes the semicolon character'\"', escapes the quote character'\'', escapes the apostrophe character'\xxx', where xx is a hexadecimal number, escapes the ascii character with the specified value. For example, \x9 is the tab character.'\Xxx', where xx is a hexadecimal number, escapes a byte of data with the specified value. If you are using a mutibyte encoding, this can be used to enter invalid strings. Only use this if you know what you are doing.'\ooo', where ooo is an octal number, escapes the ascii character with the specified value. For example, \011 is the tab character.'\uxxxx', where xxxx is a hexadecimal number, escapes the 16-bit Unicode character with the specified value. For example, \u9 is the tab character.'\Uxxxxxxxx', where xxxxxxxx is a hexadecimal number, escapes the 32-bit Unicode character with the specified value. For example, \U9 is the tab character.'\cx', where x is a letter of the alphabet, escapes the control sequence generated by pressing the control key and the specified letter. For example, \ci is the tab characterMost program use three types of input/output (IO), each represented by a number called a file descriptor (FD). These are:
The reason for providing for two output file descriptors is to allow separation of errors and warnings from regular program output.
Any file descriptor can be directed to a different output than its default through a simple mechanism called a redirection.
An example of a file redirection is echo hello >output.txt, which directs the output of the echo command to the file error.txt.
<SOURCE_FILE>DESTINATION^DESTINATION>>DESTINATION_FILE^^DESTINATION_FILEDESTINATION can be one of the following:
Example:
To redirect both standard output and standard error to the file all_output.txt, you can write echo Hello >all_output.txt ^&1.
Any FD can be redirected in an arbitrary way by prefixing the redirection with the number of the FD.
N<DESTINATIONN>DESTINATIONN>>DESTINATION_FILEExample: echo Hello 2>- and echo Hello ^- are equivalent.
The user can string together multiple commands into a so called pipeline. This means that the standard output of one command will be read in as standard input into the next command. This is done by separating the commands by the pipe character (|). For example
cat foo.txt | head
will call the 'cat' program with the parameter 'foo.txt', which will print the contents of the file 'foo.txt'. The contents of foo.txt will then be filtered through the program 'head', which will pass on the first ten lines of the file to the screen. For more information on how to combine commands through pipes, read the manual pages of the commands you want to use using the 'man' command. If you want to find out more about the 'cat' program, type man cat.
Pipes usually connect file descriptor 1 (standard output) of the first process to file descriptor 0 (standard input) of the second process. It is possible use a different output file descriptor by prepending the desired FD number and then output redirect symbol to the pipe. For example:
make fish 2>|less
will attempt to build the fish program, and any errors will be shown using the less pager.
When you start a job in fish, fish itself will pause, and give control of the terminal to the program just started. Sometimes, you want to continue using the commandline, and have the job run in the background. To create a background job, append a & (ampersand) to your command. This will tell fish to run the job in the background. Background jobs are very useful when running programs that have a graphical user interface.
Example:
emacs &
will start the emacs text editor in the background.
Most programs allow you to suspend the programs execution and return control to fish by Pressing ^Z (Press and hold the Control key and press 'z'). Once back at the fish commandline, you can start other programs and do anything you want. If you then want to go back to the suspended command by using the fg command.
If you instead want to put a suspended job into the background, use the bg command.
To get a listing of all currently started jobs, use the jobs command.
Functions are used to group together commands and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments using a single name. It can also be used to append and arguments u