|
Brooklyn | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectbrooklyn.util.ssh.BashCommands
public class BashCommands
Field Summary | |
---|---|
static java.lang.String |
INSTALL_CURL
|
static java.lang.String |
INSTALL_SYSSTAT
|
static java.lang.String |
INSTALL_TAR
|
static java.lang.String |
INSTALL_UNZIP
|
static java.lang.String |
INSTALL_WGET
|
static java.lang.String |
INSTALL_ZIP
|
Method Summary | |
---|---|
static java.lang.String
|
alternatives(java.util.Collection commands)
|
static java.lang.String
|
alternatives(java.lang.String... commands)
As alternatives(Collection), but explicitly using ( ) grouping characters to ensure exits are caught. |
static java.lang.String
|
alternativesGroup(java.util.Collection commands)
|
static java.lang.String
|
alternativesGroup(java.lang.String... commands)
returns the pattern formatted with the given arg if the arg is not null, otherwise returns null |
static java.lang.String
|
alternativesSubshell(java.util.Collection commands)
|
static java.lang.String
|
alternativesSubshell(java.lang.String... commands)
|
static java.lang.String
|
chain(java.util.Collection commands)
As chain(Collection), but explicitly using { } grouping characters to ensure exits are propagated. |
static java.lang.String
|
chain(java.lang.String... commands)
|
static java.lang.String
|
chainGroup(java.util.Collection commands)
|
static java.lang.String
|
chainGroup(java.lang.String... commands)
|
static java.lang.String
|
chainSubshell(java.util.Collection commands)
|
static java.lang.String
|
chainSubshell(java.lang.String... commands)
|
static java.lang.String
|
commandToDownloadUrlAs(java.lang.String url, java.lang.String saveAs)
|
static java.lang.String
|
commandToDownloadUrlsAs(java.util.List urls, java.lang.String saveAs)
as downloadToStdout(List) but varargs for convenience |
static java.util.List
|
commandsToDownloadUrlsAs(java.util.List urls, java.lang.String saveAs)
|
static java.lang.String
|
dontRequireTtyForSudo()
Returns a command that runs only if the specified file (or link or directory) exists; if the command runs and fails that exit is preserved (but if the file does not exist exit code is zero). |
static java.lang.String
|
downloadToStdout(java.util.List urls)
|
static java.lang.String
|
downloadToStdout(java.lang.String... urls)
|
static java.lang.String
|
executeCommandThenAsUserTeeOutputToFile(java.lang.String commandWhoseOutputToWrite, java.lang.String user, java.lang.String file)
executes a command, then as user tees the output to the given file. |
static java.lang.String
|
fail(java.lang.String message, int code)
as requireTest(String, String, int) but returning the original exit code |
static java.lang.String
|
formatIfNotNull(java.lang.String pattern, java.lang.Object arg)
|
static java.lang.String
|
ifExecutableElse0(java.lang.String executable, java.lang.String command)
Returns a command that runs only if the specified executable exists on the path (using `which`). |
static java.lang.String
|
ifExecutableElse1(java.lang.String executable, java.lang.String command)
|
static java.lang.String
|
ifFileExistsElse0(java.lang.String path, java.lang.String command)
as ifFileExistsElse0(String, String) but returns non-zero if the test fails (also returns non-zero if the command fails, so you can't tell the difference :( -- we need if ; then ; else ; fi semantics for that I think, but not sure how portable that is) |
static java.lang.String
|
ifFileExistsElse1(java.lang.String path, java.lang.String command)
as ifExecutableElse0(String, String) but returns 1 if the test fails (also returns non-zero if the command fails) |
static java.lang.String
|
installExecutable(java.util.Map flags, java.lang.String executable)
Returns a string for checking whether the given executable is available, and installing it if necessary. |
static java.lang.String
|
installExecutable(java.lang.String executable)
|
static java.lang.String
|
installJava6IfPossible()
cats the given text to the given command, using bash << multi-line input syntax |
static java.lang.String
|
installJava6OrFail()
|
static java.lang.String
|
installJava7Or6OrFail()
|
static java.lang.String
|
installJava7OrFail()
|
static java.lang.String
|
installPackage(java.lang.String packageDefaultName)
|
static java.lang.String
|
installPackage(java.util.Map flags, java.lang.String packageDefaultName)
|
static java.lang.String
|
installPackageOr(java.util.Map flags, java.lang.String packageDefaultName, java.lang.String optionalCommandToRunIfNone)
|
static java.lang.String
|
installPackageOrFail(java.util.Map flags, java.lang.String packageDefaultName)
|
static java.lang.String
|
ok(java.lang.String command)
Returns a command that always exits successfully |
static java.lang.String
|
onlyIfExecutableMissing(java.lang.String executable, java.lang.String command)
Convenience for chain(Collection) |
static java.lang.String
|
pipeTextTo(java.lang.String text, java.lang.String command)
|
static java.lang.String
|
quiet(java.lang.String command)
Returns a command with all output redirected to /dev/null |
static java.lang.String
|
require(java.lang.String command, java.lang.String failureMessage, int exitCode)
fails with nice error if the given file does not exist |
static java.lang.String
|
require(java.lang.String command, java.lang.String failureMessage)
fails with nice error if the given file does not exist |
static java.lang.String
|
requireExecutable(java.lang.String command)
|
static java.lang.String
|
requireFile(java.lang.String file)
|
static java.lang.String
|
requireTest(java.lang.String test, java.lang.String failureMessage, int exitCode)
|
static java.lang.String
|
requireTest(java.lang.String test, java.lang.String failureMessage)
|
static java.lang.String
|
simpleDownloadUrlAs(java.util.List urls, java.lang.String saveAs)
|
static java.lang.String
|
sudo(java.lang.String command)
Returns a command for safely running as root, using |
static java.lang.String
|
sudoAsUser(java.lang.String user, java.lang.String command)
sudo to a given user and run the indicated command; |
static java.lang.String
|
warn(java.lang.String message)
returns a command which logs a message to stdout and stderr then exits with the given error code |
Methods inherited from class java.lang.Object | |
---|---|
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
Field Detail |
---|
public static final java.lang.String INSTALL_CURL
public static final java.lang.String INSTALL_SYSSTAT
public static final java.lang.String INSTALL_TAR
public static final java.lang.String INSTALL_UNZIP
public static final java.lang.String INSTALL_WGET
public static final java.lang.String INSTALL_ZIP
Method Detail |
---|
public static java.lang.String alternatives(java.util.Collection commands)
public static java.lang.String alternatives(java.lang.String... commands)
public static java.lang.String alternativesGroup(java.util.Collection commands)
public static java.lang.String alternativesGroup(java.lang.String... commands)
public static java.lang.String alternativesSubshell(java.util.Collection commands)
public static java.lang.String alternativesSubshell(java.lang.String... commands)
public static java.lang.String chain(java.util.Collection commands)
public static java.lang.String chain(java.lang.String... commands)
public static java.lang.String chainGroup(java.util.Collection commands)
public static java.lang.String chainGroup(java.lang.String... commands)
public static java.lang.String chainSubshell(java.util.Collection commands)
public static java.lang.String chainSubshell(java.lang.String... commands)
public static java.lang.String commandToDownloadUrlAs(java.lang.String url, java.lang.String saveAs)
public static java.lang.String commandToDownloadUrlsAs(java.util.List urls, java.lang.String saveAs)
public static java.util.List commandsToDownloadUrlsAs(java.util.List urls, java.lang.String saveAs)
public static java.lang.String dontRequireTtyForSudo()
public static java.lang.String downloadToStdout(java.util.List urls)
public static java.lang.String downloadToStdout(java.lang.String... urls)
public static java.lang.String executeCommandThenAsUserTeeOutputToFile(java.lang.String commandWhoseOutputToWrite, java.lang.String user, java.lang.String file)
public static java.lang.String fail(java.lang.String message, int code)
public static java.lang.String formatIfNotNull(java.lang.String pattern, java.lang.Object arg)
public static java.lang.String ifExecutableElse0(java.lang.String executable, java.lang.String command)
{ { test -z `which executable` && true ; } || command ; }
public static java.lang.String ifExecutableElse1(java.lang.String executable, java.lang.String command)
public static java.lang.String ifFileExistsElse0(java.lang.String path, java.lang.String command)
public static java.lang.String ifFileExistsElse1(java.lang.String path, java.lang.String command)
public static java.lang.String installExecutable(java.util.Map flags, java.lang.String executable)
public static java.lang.String installExecutable(java.lang.String executable)
public static java.lang.String installJava6IfPossible()
public static java.lang.String installJava6OrFail()
public static java.lang.String installJava7Or6OrFail()
public static java.lang.String installJava7OrFail()
public static java.lang.String installPackage(java.lang.String packageDefaultName)
public static java.lang.String installPackage(java.util.Map flags, java.lang.String packageDefaultName)
public static java.lang.String installPackageOr(java.util.Map flags, java.lang.String packageDefaultName, java.lang.String optionalCommandToRunIfNone)
public static java.lang.String installPackageOrFail(java.util.Map flags, java.lang.String packageDefaultName)
public static java.lang.String ok(java.lang.String command)
public static java.lang.String onlyIfExecutableMissing(java.lang.String executable, java.lang.String command)
public static java.lang.String pipeTextTo(java.lang.String text, java.lang.String command)
public static java.lang.String quiet(java.lang.String command)
public static java.lang.String require(java.lang.String command, java.lang.String failureMessage, int exitCode)
public static java.lang.String require(java.lang.String command, java.lang.String failureMessage)
public static java.lang.String requireExecutable(java.lang.String command)
public static java.lang.String requireFile(java.lang.String file)
public static java.lang.String requireTest(java.lang.String test, java.lang.String failureMessage, int exitCode)
public static java.lang.String requireTest(java.lang.String test, java.lang.String failureMessage)
public static java.lang.String simpleDownloadUrlAs(java.util.List urls, java.lang.String saveAs)
public static java.lang.String sudo(java.lang.String command)
sudo
.
Ensuring non-blocking if password not set by using
-n
which means to exit if password required
(this is unsupported in Ubuntu 8 but all modern OS's seem okay with this!),
and (perhaps unnecessarily ?)
-S
which reads from stdin (routed to /dev/null
, it was claimed here previously, though I'm not sure?).
Also specify -E
to pass the parent environment in.
If already root, simply runs the command, wrapped in brackets in case it is backgrounded.
The command is not quoted or escaped in any ways.
If you are doing privileged redirect you may need to pass e.g. "bash -c 'echo hi > file'".
If null is supplied, it is returned (sometimes used to indicate no command desired).
@Betareturn format("{ sudo -E -n -u %s -s -- %s ; }", user, command); public static java.lang.String sudoAsUser(java.lang.String user, java.lang.String command)
public static java.lang.String warn(java.lang.String message)
Brooklyn Multi-Cloud Application Management Platform
brooklyncentral.github.com. Apache License. © 2012.