Skip to content

v0.3 — Allow custom/non-bash shells ("engines")

Compare
Choose a tag to compare
@akavel akavel released this 26 Oct 23:24
· 35 commits to master since this release

This release by default loads user's login shell, as specified in the SHELL environment variable (instead of always using bash, as was done previously). This feature can also be used to change the shell/engine used by up, by changing the contents of the SHELL variable. To be compatible with up, a shell must support two ways of being called:

  • $SHELL -c "$COMMAND" — this is used by up when evaluating the command entered by user,
  • $SHELL $FILENAME — this is used in upN.sh scripts saved after exiting up.

If a shell/engine you want to use with up doesn't support such ways of being called, you can create a wrapper script to translate those into options appropriate for your shell. This can be used to make up work with engines such as lua or ghci.

To change a shell used by up, change the value of the SHELL environment variable. For example, in bash, you could try:

lshw |& SHELL=python up