pdsh mishandles command argument quoting
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pdsh (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: pdsh
Description: Ubuntu 9.10
Release: 9.10
pdsh:
Installed: 2.18-1
Candidate: 2.18-1
Version table:
*** 2.18-1 0
500 http://
100 /var/lib/
A command like
$ pdsh -w myhost echo "1 2 3 |" "hostname"
should output something like
myhost: 1 2 3 | hostname
In fact I get
myhost: myhost
That is, 'hostname' is actually being invoked somehow. I'm not sure exactly what's going wrong, but basically it looks like pdsh is parsing and munging command arguments very strangely. Under some circumstances, this might end up doing something really horrible.
In general, I would have expected the output of "pdsh <pdsh-args> <command> <arg>..." to be about the same as "ssh <host> <command> <arg>...".
(A workaround of sorts is to place two layers of quotes around the command and its arguments.)
I looked a little at fixing this, but ended up deciding that it'd be better to just re-implement the parts of pdsh that I need as a bash script. I've just released this as 'ssssh', available here:
http:// code.google. com/p/ssssh/
I'd love it if someone would like to package this...