# Cargo Do
Allows you to put multiple cargo commands on one line, e.g.
```
$ cargo do clean, update, build
```
## Installation
I don't know if there is an "official" way to install Cargo subcommands,
but the easiest way is to put the generated `cargo-do` binary in the same
directory as `cargo`. So, if you are on a *nix system, you could do the following:
```
$ git clone https://github.com/pwoolcoc/cargo-do
$ cd cargo-do
$ cargo build
$ cp target/cargo-do $(dirname $(which cargo))/
```
Verify that it is correctly installed by checking that `do` is in the command list:
```
$ cargo --list | egrep "do$"
do
```
## Using commas in your commands
Since `cargo-do` uses commas to delimit commands, you have to be careful when
trying to run a command with a comma in it.
For example, this command will not run properly:
```
$ cargo do update, build, bench --bench "why are there commas, here"
```
It will be treated as if you did this:
```
$ cargo update
$ cargo build
$ cargo bench --bench "why are there commas
$ cargo here"
```
Which is obviously not what you want.
Because of the magic of shell escaping, you have a couple choices on how to get around this:
```
$ cargo do bench --bench "why are there commas\, here"
```
or
```
$ cargo do bench --bench why are there commas \\, here
```
However you want to do it, `cargo-do` will not delimit commands on an escaped comma.