Something went wrong on our end
Forked from
redox-os / ion
125 commits behind the upstream repository.
migrating.md 1.07 KiB
Migrating from POSIX Shells
Notable changes
- Arrays are full-class citizens, using the @ sigil. That means emails and git urls must be single quoted
- The shell has proper scopes (variables get unset after the end of the definition scope), and functions are closures
- The shell has an internal variable store. That means environment variables must be explicitely exported to be available to commands.
- For now, per-command environment variables are not supported (ex:
LANG=it_CH.utf8 man man
) - The testing builtin (
[[ .. ]]
) was replaced withtest
,exists
, and/or other commands - The control flow have been revisited, see the relevant part of the manual
Customizing your prompt
- Define the PROMPT function to be called whenever the prompt needs to be drawn. Simply print the prompt to stdout in the function (printf or git branch directly)
- Variables are defined with all the colors (see the namespaces manual page for all details). This means you don't have to deal with all the escape codes directly. No more
\x033[33;m
, instead it's${color::yellow}
.