How to track what code was loaded and from where
Every function, event, autocompletion and even variable is stored with which file it was sourced, when it was loaded and what module it was loaded from. This makes it trivial to identify buggy 3rd party code, malicious libraries, or even just bugs in your own profiles and/or modules.
» runtime --functions -> [[ /agent/FileRef/ ]]
{
"Column": 5,
"Line": 5,
"Source": {
"DateTime": "2021-03-28T09:10:53.572197+01:00",
"Filename": "/home/lmorg/.murex_modules/murex-dev/murex-dev.mx",
"Module": "murex-dev/murex-dev"
}
}
» runtime --globals -> [[ /DEVOPSBIN/FileRef ]]
{
"Column": 1,
"Line": 0,
"Source": {
"DateTime": "2021-03-28T09:10:53.541952+01:00",
"Filename": "/home/lmorg/.murex_modules/devops/global.mx",
"Module": "devops/global"
}
}
A common shell idiom is to load shell script files via
source
/ .
. When this is done the module
string (as seen in the FileRef
structures described above)
will be source/hash
where hash will be a
unique hash of the file path and load time.
Thus no two sourced files will share the same module string. Even the same file but modified and sourced twice (before and after the edit) will have different module strings due to the load time being part of the hashed data.
Any functions, variables, events, auto-completions, etc created
manually, directly, in the interactive shell will have a module string
of murex
and an empty Filename string.
[[ Element ]]
): Outputs an element from a nested
structuresource
): Import Murex code from another file or code
blockmurex-package
): Murex’s package managerruntime
): Returns runtime information on the internal
state of MurexThis document was generated from gen/user-guide/fileref_doc.yaml.
This 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 Wed Jan 15 23:07:50 UTC 2025 against commit b4c4296b4c429617fd41527ea0efef33c52c15ef2b64972.
Current version is 6.4.2063 (develop) which has been verified against tests cases.