The EsbRootView/2.x is equipped with the core of a Bourne like shell called "insh" for INlib SHell.
It had been introduced to have a way to customize things by using a scripting syntax known by any UNIX pedestrian and easily implementable by a "doer" without having to embarque a million of lines of code to do that. insh has the basic mechanisms found on any bash shell: variables, env variables, dollar replacement of a variable, execute other scripts, source other scripts and, obviously, execute commands with options. For example in the neard_event.insh, you can see:
# this is a comment. event_index=`event_index` gui_show_console ${event_index} scene_clear_dynamic #pickable='-pickable=true' pickable= event_vis MCTrack -color=red ${pickable} event_vis WCDetectorPoint -color=green ${pickable} event_plot WCDetectorPoint -modeling=neard # example of a comment at end of line. return #...
As for a Bourne shell, at startup of the program, the internal insh will source, if found and in this order, the files:
~/.insh ~/Documents/EsbRootView/.insh ~/Documents/EsbRootView/startup.insh
For example, in a .insh, you can have:
echo 'hello my .insh'