<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>