Skip to main content


Laurence MorganAbout 1 min


Execute a command or function, bypassing the usual order of precedence.


fexec allows you to execute a command or function, bypassing the usual order of precedence.


fexec flag command [ parameters... ] -> <stdout>


fexec private /source/builtin/autocomplete.alias


  • builtin Execute a Murex builtin
  • function Execute a Murex public function
  • help Display help message
  • private Execute a Murex private function


Order of precedence

There is an order of precedence for which commands are looked up:

  1. runmode: this is executed before the rest of the script. It is invoked by the pre-compiler forking process and is required to sit at the top of any scripts.

  2. test and pipe functions also alter the behavior of the compiler and thus are executed ahead of any scripts.

  3. private functions - defined via private. Private's cannot be global and are scoped only to the module or source that defined them. For example, You cannot call a private function directly from the interactive command line (however you can force an indirect call via fexec).

  4. Aliases - defined via alias. All aliases are global.

  5. Murex functions - defined via function. All functions are global.

  6. Variables (dollar prefixed) which are declared via global, set or let. Also environmental variables too, declared via export.

  7. globbing: however this only applies for commands executed in the interactive shell.

  8. Murex builtins.

  9. External executable files

You can override this order of precedence via the fexec and exec builtins.

Compatibility with POSIX

For compatibility with traditional shells like Bash and Zsh, builtin is an alias to fexec builtin


  • fexec
  • builtin

See Also

  • alias: Create an alias for a command
  • autocomplete: Set definitions for tab-completion in the command line
  • bg: Run processes in the background
  • builtins: Returns runtime information on the internal state of Murex
  • event: Event driven programming for shell scripts
  • exec: Runs an executable
  • fg: Sends a background process into the foreground
  • function: Define a function block
  • jobs: Lists all running functions within the current Murex session
  • open: Open a file with a preferred handler
  • private: Define a private function block
  • source: Import Murex code from another file of code block

This document was generated from builtins/core/management/fexec_doc.yamlopen in new window.

Last update:
Contributors: Laurence Morgan,Laurence Morgan,Laurence