def build(command, params = nil)
      params = assemble_params(sanitize(params))
      params.empty? ? command.to_s : "#{command} #{params}"
    end
def build(command, params = nil)
      params = assemble_params(sanitize(params))
      params.empty? ? command.to_s : "#{command} #{params}"
    end
Build the full command line.

 @param [String] command The command to run
 @param [Hash,Array] params Optional command line parameters. They can
   be passed as a Hash or associative Array. The values are sanitized to
   prevent command line injection.  Keys as Symbols are prefixed with `--`,
   and `_` is replaced with `-`.

   - `{:k => "value"}`              generates `-k value`
   - `[[:k, "value"]]`              generates `-k value`
   - `{:k= => "value"}`             generates `-k=value`
   - `[[:k=, "value"]]`             generates `-k=value` <br /><br />

   - `{:key => "value"}`            generates `--key value`
   - `[[:key, "value"]]`            generates `--key value`
   - `{:key= => "value"}`           generates `--key=value`
   - `[[:key=, "value"]]`           generates `--key=value` <br /><br />

   - `{"--key" => "value"}`         generates `--key value`
   - `[["--key", "value"]]`         generates `--key value`
   - `{"--key=" => "value"}`        generates `--key=value`
   - `[["--key=", "value"]]`        generates `--key=value` <br /><br />

   - `{:key_name => "value"}`       generates `--key-name value`
   - `[[:key_name, "value"]]`       generates `--key-name value`
   - `{:key_name= => "value"}`       generates `--key-name=value`
   - `[[:key_name=, "value"]]`       generates `--key-name=value` <br /><br />

   - `{"-f" => ["file1", "file2"]}` generates `-f file1 file2`
   - `[["-f", "file1", "file2"]]`   generates `-f file1 file2` <br /><br />

   - `{:key => nil}`                generates `--key`
   - `[[:key, nil]]`                generates `--key`
   - `[[:key]]`                     generates `--key` <br /><br />

   - `{nil => ["file1", "file2"]}`  generates `file1 file2`
   - `[[nil, ["file1", "file2"]]]`  generates `file1 file2`
   - `[[nil, "file1", "file2"]]`    generates `file1 file2`
   - `[["file1", "file2"]]`         generates `file1 file2`

 @return [String] The full command line