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
clone({bool? throwOnError, String? workingDirectory, Map<String, String>? environment, bool? includeParentEnvironment, bool? runInShell, Encoding? stdoutEncoding, Encoding? stderrEncoding, Stream<List<int>>? stdin, StreamSink<List<int>>? stdout, StreamSink<List<int>>? stderr, bool? verbose, bool? commandVerbose, bool? commentVerbose}) Shell
Create a new shell
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, {void onProcess(Process process)?}) Future<List<ProcessResult>>
Run one or multiple plain text command(s).
runExecutableArguments(String executable, List<String> arguments, {void onProcess(Process process)?}) 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.
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