Class ShellEnvironment
Source: shellEnvironment.ts
Manages environment variabels for Shell.
Constructors
Constructor
new ShellEnvironment(
initialVars?:Record<string,string>,parent?:ShellEnvironment|null):ShellEnvironment
Parameters
initialVars?
Record<string, string> = {}
parent?
ShellEnvironment | null
Returns
Properties
store
store:
Record<string,string> ={}
USER
readonlystaticUSER:"USER"="USER"
HOSTNAME
readonlystaticHOSTNAME:"HOSTNAME"="HOSTNAME"
WORKING_DIRECTORY
readonlystaticWORKING_DIRECTORY:"PWD"="PWD"
PREVIOUS_WORKING_DIRECTORY
readonlystaticPREVIOUS_WORKING_DIRECTORY:"OLDPWD"="OLDPWD"
HOME
readonlystaticHOME:"HOME"="HOME"
PROMPT
readonlystaticPROMPT:"PS1"="PS1"
EXIT_CODE
readonlystaticEXIT_CODE:"?"="?"
ARGUMENT_COUNT
readonlystaticARGUMENT_COUNT:"#"="#"
PROCESS_ID
readonlystaticPROCESS_ID:"$"="$"
INTERNAL_VARS
readonlystaticINTERNAL_VARS:string[]
Array of variables that should never be exported.
Methods
get()
get(
key:string):string|undefined
Parameters
key
string
Returns
string | undefined
set()
set(
key:string,value:string,isExported?:boolean):void
Parameters
key
string
value
string
isExported?
boolean = false
Returns
void
export()
export(
key:string):void
Marks an existing variable as exported.
Parameters
key
string
Returns
void
expand()
expand(
node:ParameterExpansionNode,expandedArgument?:string):string
Replaces variable placeholders in a string with their corresponding values based on a pre-parsed node. The expandedArgument must be pre-resolved by the interpreter to handle nested expansions.
Parameters
node
expandedArgument?
string = ""
Returns
string
parseAssignment()
parseAssignment(
input:string):boolean
Parses an assignment string (e.g., KEY=VALUE) and updates the environment.
Parameters
input
string
Returns
boolean
true if the string was a valid assignment.
setCommandArguments()
setCommandArguments(
commandName:string,args:string[]):void
Parameters
commandName
string
args
string[]
Returns
void
fork()
fork():
ShellEnvironment
Creates a child scope for subshells or command execution.
Returns
Accessors
exportedVariables
Get Signature
get exportedVariables():
Record<string,string>
Returns only variables that are marked for export.
Returns
Record<string, string>
variables
Get Signature
get variables():
Record<string,string>
Returns all variables visible to this scope (including internal).
Returns
Record<string, string>