uriexec - Decode and execute the given URI-encoded command
uriexec [--cd I<cd>] echo %24HOME
Run the specified command (optionally from the specified directory). Each
URL-encoded character (%xx) is translated prior to executing the command with
exec().
Uriexec solves the classic problem of having to figure out how to
quote shell metacharacters to pass commands across multiple shells and ssh
processes. Simply call "uriexec" on a string created with
"URI::Escape::uri_escape", and it will end
up executing on the final machine with proper quoting.
- --cd dir
- Directory to cd to before the exec of the given command, URI-encoded.
- --shell shell
- Name of the shell and additional parameters to prefix, URI-encoded.
Defaults to "/bin/sh -c".
- --show
- Instead of executing the command, print the decoding of the command to aid
in user debug. This also supports decoding nested uriexec calls, however
they are not always perfect so the output from this option is only for
users, not scripts.
- --version
- Displays program version and exits.
Copyright 2005-2012 by Jeff Dutton <jdutton@cpan.org>. This program is
free software; you can redistribute it and/or modify it under the terms of
either the GNU Lesser General Public License Version 3 or the Perl Artistic
License Version 2.0.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
Jeff Dutton <jdutton@cpan.org>, Wilson Snyder <wsnyder@wsnyder.org>