DockerShell class

When running on Docker we are often proc1 i.e. the one and only process running docker. There may not even be a shell present in the image.

Mixed in types

Constructors

DockerShell.withPid(int? pid)
Attached to a bash shell with the given pid.

Properties

canModifyPath bool
Returns true if this shell supports modifying the shell's PATH
no setteroverride
hashCode int
The hash code for this object.
no setterinherited
hasStartScript bool
True if this shell supports a start script or configuration file. e.g. a script that is run by the shell or a configuration file that is read when the shell starts.
no setteroverride
installInstructions String
Returns instructions on how to install DCli.
no setteroverride
isCompletionInstalled bool
Returns true if the dcil_complete has been installed as a bash auto completer
no setteroverride
isCompletionSupported bool
no setteroverride
isPrivilegedPasswordRequired bool
Returns true if running a privileged action would cause a password to be requested.
no setterinherited
isPrivilegedProcess bool
only user in docker is root.
no setteroverride
isPrivilegedUser bool
only user in docker is root.
no setteroverride
isSudo bool
Returns true if we are currently running under sudo.
no setterinherited
loggedInUser String
Returns the username of the logged in user.
no setteroverride
loggedInUsersHome String
Attempts to retrive the logged in user's home directory.
no setteroverride
name String
The name of the shell e.g. bash
no setteroverride
nonPriviledgedUser Immutable<UserEnvironment>
latefinalinherited
pathToStartScript String
Returns the path to the shell's start script or config file e.g /home/
no setteroverride
pid int?
The pid of the current shell
final
priviledgedUser Immutable<UserEnvironment>
latefinalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
startScriptName String
Returns the name of the shell's startup script or configuration file e.g. .bashrc
no setteroverride

Methods

addFileAssocation(String dcliPath) → void
Called during the install so that an OS that needs to create a file association between .dart and dcli can create that association. The implementor is responsible for not adding the association if it already exists.
override
addToPATH(String path) bool
Adds a path to the start script returns true if adding the path was successful
override
appendToPATH(String path) bool
Appends the given path to the bash path if it isn't already on the path.
override
checkInstallPreconditions() String?
at this point no posix system has any preconditions.
inherited
install({bool installDart = false, bool activate = true}) bool
Install dart/dcli
inherited
installTabCompletion({bool quiet = false}) → void
If the shell supports tab completion then install it. If quiet is true then suppress any console output except for errors.
override
matchByName(String name) bool
Returns true if the shells name matches the passed name. The comparison is case insensitive.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
prependToPATH(String path) bool
Prepends the given path to the bash path if it isn't already on the path.
override
privilegesRequiredMessage(String app) String
The message used during installation if it needs to be run with sudo.
inherited
releasePrivileges() → void
no op on docker as we are always root.
override
restorePrivileges() → void
no op on docker as we are always root.
override
toString() String
A string representation of this object.
inherited
withPrivileges(RunPrivileged action, {bool allowUnprivileged = false}) → void
Run action On docker we don't have to manipulate the privlieges as we are aways root.
override

Operators

operator ==(covariant Shell other) bool
The equality operator.
inherited

Static Properties

inDocker bool
Returns true if we are running in a docker shell
no setter

Constants

shellName → const String
Name of the shell