insh


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'