Previous: Commands verbs, Up: Command basics

### 2.2 Command arguments

Eshell recognizes several different kinds of command arguments:

1. Strings (also called textual arguments)
2. Numbers (floating point or integer)
3. Lisp lists
4. Lisp symbols
5. Emacs buffers
6. Emacs process handles

Most users need to worry only about the first two. The third, Lisp lists, occur very frequently, but almost always behind the scenes.

Strings are the most common type of argument, and consist of nearly any character. Special characters—those used by Eshell specifically—must be preceded by a backslash (‘`\`’). When in doubt, it is safe to add backslashes anywhere and everywhere.

Here is a more complicated `echo` example:

         echo A\ Multi-word\ Argument\ With\ A\ \$\ dollar

Beyond this, things get a bit more complicated. While not beyond the reach of someone wishing to learn, it is definitely beyond the scope of this manual to present it all in a simplistic manner. Get comfortable with Eshell as a basic command invocation tool, and learn more about the commands on your system; then come back when it all sits more familiarly on your mind. Have fun!