NAME
uriexec - Decode and execute the given URI-encoded command
SYNOPSIS
uriexec [--cd I<cd>] echo %24HOME
DESCRIPTION
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.
ARGUMENTS
- --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.
DISTRIBUTION
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.
AUTHORS
Jeff Dutton <jdutton@cpan.org>, Wilson Snyder <wsnyder@wsnyder.org>