<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Le 30/10/2019 à 02:33, Chin Luh Tan a
      écrit :<br>
    </div>
    <blockquote type="cite"
cite="mid:16e1a4b8b6d.db9278cf662797.8870424365131974933@bytecode-asia.com">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <div style="font-family: Verdana, Arial, Helvetica, sans-serif;
        font-size: 10pt;">
        <div>Hi Samuel, <br>
        </div>
        <div><br>
        </div>
        <div>I think we could use this instead:<br>
        </div>
        <div><br>
        </div>
        <div>unix_w("Scilex --help  2>&1")<br>
        </div>
        <br>
        <div data-zbluepencil-ignore="true" style="" class="zmail_extra"><br>
          As you mentioned, the "--help" is Scilab 6 dedicated
          "hardcoded" function, I am yet to look for where is it located
          from the source, if anyone find out, please share here :).<br>
          <br>
          For some reason, the output message seems  to have sent to
          stderr(2) instead of stdout(1), so we have to redirect it back
          to stdout for the unix_? to capture it. <br>
        </div>
      </div>
    </blockquote>
    <p>The whole thing is to know which reason. Clearly,  std::cerr is
      intentionally targeted,<br>
      in the source file \scilab\modules\startup\src\cpp\scilab.cpp:<br>
      <font size="-1" color="#333333"><tt>static void usage(void)</tt><tt><br>
        </tt><tt>{</tt><tt><br>
        </tt><tt>    std::cerr << "Usage: Scilab <options>"
          << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      -e Instruction   :
          execute the scilab instruction given in Instruction argument."
          << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "                         -e and
          -f arguments are mutually exclusive." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      -f File          :
          execute the scilab script given in File argument." <<
          std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "                         -e and
          -f arguments are mutually exclusive." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      -quit            : force
          scilab exit after execution of script from -e or -f argument."
          << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "                         this
          flag is ignored if it is not used with -e or -f argument."
          << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      -l lang          : Change
          the language of scilab ( default : en_US )." <<
          std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      -nw              : Enable
          console mode." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      -nwni            : Enable
          terminal mode." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      -ns              : Don't
          execute etc/scilab.start." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --help           :
          Display this help." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      -scihome <dir>   :
          Force SCIHOME to <dir>." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "Developer Trace arguments:"
          << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --parse-trace    :
          Display bison state machine evolution." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --AST-trace      :
          Display ASCII-art AST to be human readable." <<
          std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --pretty-print   :
          Display pretty-printed code, standard Scilab syntax." <<
          std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << " " << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "Developer Timer arguments:"
          << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --AST-timed      : Time
          each AST node." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --timed          : Time
          global execution." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << " " << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "Developer Debug arguments:"
          << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --no-exec        : Only
          do Lexing/parsing do not execute instructions." <<
          std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --context-dump   :
          Display context status." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --exec-verbose   :
          Display command before running it." << std::endl;</tt><tt><br>
        </tt><tt>    std::cerr << "      --timeout delay  : Kill
          the Scilab process after a delay." << std::endl;</tt><tt><br>
        </tt><tt>}</tt><tt><br>
        </tt></font><br>
    </p>
  </body>
</html>