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>

SEE ALSO

URI::Escape, IPC::Locker