Shell class abstract

Multiplatform Shell utility to run a script with multiple commands.

Extra path/env can be loaded using ~/.config/tekartik/process_run/env.yaml

path: ~/bin

or

path:
  - ~/bin
  - ~/Android/Sdk/tools/bin
env:
  ANDROID_TOP: ~/Android
  FIREBASE_TOP: ~/.firebase

A list of ProcessResult is returned

Constructors

Shell({bool throwOnError = true, String? workingDirectory, Map<String, String>? environment, bool includeParentEnvironment = true, bool? runInShell, Encoding stdoutEncoding = systemEncoding, Encoding stderrEncoding = systemEncoding, Stream<List<int>>? stdin, StreamSink<List<int>>? stdout, StreamSink<List<int>>? stderr, bool verbose = true, bool? commandVerbose, bool? commentVerbose, ShellOptions? options})
throwOnError means that if an exit code is not 0, it will throw an error
factory
Shell.implWithOptions(ShellOptions options)
Internal use only.

Properties

context → ShellContext
Shell context.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
options → ShellOptions
Shell options.
no setter
path → String
Get the shell path, using workingDirectory or current directory if null.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

cd(String path) → Shell
Create new shell at the given path
cloneWithOptions(ShellOptions options) → Shell
Clone a new shell with the given options.
inherited
kill([ProcessSignal signal = ProcessSignal.sigterm]) → bool
Kills the current running process.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
popd() → Shell
Pop the current directory to get the previous shell throw State error if nothing in the stack
pushd(String path) → Shell
Create a new shell at the given path, allowing popd on it
run(String script, {ShellOnProcessCallback? onProcess}) → Future<List<ProcessResult>>
Run one or multiple plain text command(s).
runCommand(ShellCommand command, {ShellCommandRunOptions? options}) → Future<ShellProcessResult>
Run a single command.
runCommandSync(ShellCommand command) → ShellProcessResult
Run a single command, resolving the executable if needed.
runExecutableArguments(String executable, List<String> arguments, {ShellOnProcessCallback? onProcess}) → Future<ProcessResult>
Run a single executable with arguments, resolving the executable if needed.
runExecutableArgumentsSync(String executable, List<String> arguments) → ProcessResult
Run a single executable with arguments, resolving the executable if needed.
runScript(String script, {ShellCommandRunOptions? options}) → Future<ShellProcessResults>
Run one or multiple plain text command(s).
runSync(String script) → List<ProcessResult>
Run one or multiple plain text command(s).
shellVarOverride(String name, String? value, {bool? local}) → Future<Shell>
override in local (default) or user settings, null means delete, local defaults to true.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited