fish home | Main documentation page | Design document | Commands | FAQ | License
Fish user documentation

Table of contents

Introduction

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.

Syntax overview

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:

Commands 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.

Quotes

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'.

Escaping characters

Some characters can not be written directly on the command line. For these characters, so called escape sequences are provided. These are:

IO redirection

Most 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.

DESTINATION 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.

Example: echo Hello 2>- and echo Hello ^- are equivalent.

Piping

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.

Background jobs

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.

Job control

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.

Shellscript functions

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