atomsGetInstalledPath Gets the install path of some installed external modules

## Syntax

                paths = atomsGetInstalledPath(modules)
                paths = atomsGetInstalledPath(modules, section)

## Arguments

modules

  m x 1, m x 2, or m x 3 Matrix of strings:

  1st Col. | Technical name | Mandatory |
  2nd Col. | Version | Optional | If this column is missing or this value is "", the first (and possibly only installed) version found is considered.
  3nd Col. | Section | Optional | If this column is missing or this value is "", the "all" section is used. Possible values are "user", "allusers", and "all".

section

single string among "user", "allusers", "all". It is used ony if `modules` has less than 3 columns. It is equivalent to `modules(:,3)=section`.

paths

the paths of the given modules (starting with SCI or SCIHOME), or "" for any unfound module, such that always size(paths,1)==size(modules,1).

## Description

`atomsGetInstalledPath` returns the installation path of given external modules, or "" for any unfound module.

If no module with the given exact case-sensitive technical name is found among installed modules, the search is rerun in a case-insensitive way. If still no match is found, the search is rerun in a case-insensitive way considering the provided technical name as a fragment of the true name. In case of

If for a `modules(i,:)` several matches are found, only the first one is considered.

## Examples

    atomsInstall SCI/modules/atoms/tests/unit_tests/toolbox_7V6_1.0-1.bin.zip user

    atomsGetInstalledPath toolbox_7V6       // exact name,                  no version
    atomsGetInstalledPath ToolBox_7v6       // else: case-insensitive name, no version
    atomsGetInstalledPath TOOLBOX_7         // else: fragment of name,      no version
    atomsGetInstalledPath toolbox_7 allusers  // + wrong section => "" (not found)
    atomsGetInstalledPath toolbox_7 all
    atomsGetInstalledPath(["toolbox_7", "2"])   // not this version => "" (not found)
    atomsGetInstalledPath(["toolbox_7", "1"])   // not this version => "" (not found)
    atomsGetInstalledPath(["toolbox_7", "1.0"]) // version found

    atomsRemove("toolbox_7V6");

## See also

- atomsGetLoadedPath
- atomsGetLoaded
- atomsGetInstalled
- atomsAutoloadList

## History

6.1.0

- The technical name can now be case-insensitive, or a case-insensitive fragment of the full true technical name of each searched module.
- The version is now optional (use "" to accept any version).