exec
Runs an executable
With murex, like most other shells, you launch a process by calling the name of that executable directly. While this is suitable 99% of the time, occasionally you might run into an edge case where that wouldn’t work. The primary reason being if you needed to launch a process from a variable, eg
» set exe=uname
» $exe
uname
As you can see here, murex’s behavior here is to output the contents of the variable rather then executing the contents of the variable. This is done for safety reasons, however if you wanted to override that behavior then you could prefix the variable with exec:
» set exe=uname
» exec $exe
Linux
<stdin> -> exec
<stdin> -> exec -> <stdout>
exec -> <stdout>
» exec printf "Hello, world!"
Hello, world!
Working around aliases:
If you have an alias like alias ls=ls --color=auto
and you wanted to run ls
but without colour, you might run exec ls
.
If any command doesn’t exist as a builtin, function nor alias, then murex will default to forking out to any command with this name (subject to an absolute path or the order of precedence in $PATH
). Any forked process will show up in both the operating systems process viewer (eg ps
) but also murex’s own process viewer, fid-list
. However inside fid-list
you will notice that all external processes are listed as exec
with the process name as part of exec
’s parameters. That is because exec
is handler for programs that aren’t native to murex.
bexists
: Check which builtins existbg
: Run processes in the backgroundbuiltins
: Returns runtime information on the internal state of murexfg
: Sends a background process into the foregroundfid-kill
: Terminate a running murex functionfid-killall
: Terminate all running murex functionsfid-list
: Lists all running functions within the current murex sessionjobs
: Lists all running functions within the current murex sessionmurex-update-exe-list
: Forces murex to rescan $PATH looking for exectablesset
: Define a local variable and set it’s valueThis site's content is rebuilt automatically from murex's source code after each merge to the master
branch. Downloadable murex binaries are also built with the website.
Last built on Mon Feb 13 09:18:06 UTC 2023 against commit f339958f33995895c1d997efcdbb8408d2c8d45f8b5f934.
Current version is which has been verified against 13950 tests cases.