public void customize(final Shell shell) throws Exception {
assert shell != null;
Variables vars = shell.getVariables();
if (!vars.contains(SHELL_HOME)) {
vars.set(SHELL_HOME, getShellHomeDir(), false);
}
if (!vars.contains(SHELL_VERSION)) {
vars.set(SHELL_VERSION, getVersion(), false);
}
if (!vars.contains(SHELL_USER_HOME)) {
vars.set(SHELL_USER_HOME, getUserHomeDir(), false);
}
if (!vars.contains(SHELL_PROMPT)) {
vars.set(SHELL_PROMPT, getPrompt());
}
if (!vars.contains(SHELL_USER_DIR)) {
vars.set(SHELL_USER_DIR, new File(".").getCanonicalFile());
}
if (!vars.contains(SHELL_GROUP)) {
vars.set(SHELL_GROUP, ROOT);
}
if (!vars.contains(SHELL_GROUP_PATH)) {
vars.set(SHELL_GROUP_PATH, String.format("%s%s%s", CURRENT, PATH_SEPARATOR, ROOT));
}
}
}