DockerShell class Null safety

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

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 non-existent 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
final

Constants

shellName → const String
Name of the shell
'docker'