Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - Português


unix_g

executa algumas instruções do Windows, Linux ou MacOS, saída em variáveis

Seqüência de Chamamento

rep = unix_g(commands)
[rep, status] = unix_g(commands)
[rep, status, msgerr] = unix_g(commands)

Parâmetros

commands

Texto contendo instruções do Windows ou Linux ou MacOS.

rep

coluna de texto : saída padrão

status

inteiro o status de erro. status=0 se nenhum erro tiver ocorrido.

msgerr

coluna de texto : erro padrão

Descrição

unix_g() abre uma nova sessão do interpretador de comandos do Sistema Operacional (SO) (sh com Linux, cmd.exe com MS Windows, etc ..), envia commands para ele, permite processar instruções do comandos, recebe a saída e a possível mensagem de erro gerada pelo processamento, e fecha a sessão do intérprete.

O diretório de trabalho inicial e as variáveis de ambiente do interpretador aberto estão definidos como descrito para host().

A saída é redirecionada para a variável rep.

Se os commands incluírem uma instrução errônea,

  • rep está definido como "".
  • Se a variável de saída msgerr for usada, a mensagem de erro normalmente exibida no terminal do SO será capturada e armazenada nela. Caso contrário, o erro do sistema operacional é exibido no console do Scilab.
  • As instruções restantes nos commands são então ignoradas.
Os efeitos de instruções válidas processadas antes do erro permanecem reais (por exemplo, arquivos deletados). No entanto, sua saída padrão é perdida. Os commands com múltiplas instruções não são recomendados. Eles são mais difíceis de depurar.

Exemplos

function d=DIR(path)
  path = pathconvert(path,%t,%t)
  if getos() == 'Windows' then
    d = unix_g('dir '+path)
  else
    d = unix_g('ls '+path)
  end
endfunction

DIR('SCI/etc')
Report an issue
<< setenv OS_commands unix_s >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:35:26 CEST 2023