Artigo
YURI MARX GOMES · Jan. 20, 2021 1min de leitura

Executando comandos shell no ObjectScript

As vezes é necessário executar comandos do shell do sistema operacional host, onde se encontra seu programa ObjectScript, para acionar programas, serviços do sistema operacional, agendar crontasks, dentre outras atividades. Para isto, a linguagem possui um procedimento utilitário chamado $ZF(-100). Seu formato é:

$ZF(-100,flags,program,args)

Onde flags é o tipo de comando que você quer executar. No nosso caso, a flag é "/SHELL", para executar comandos shell no sistema operacional host.

Program é o nome do programa ou serviço a ser executado.

Args são argumentos de execução passados para o programa.

Um exemplo seria imprimir algum conteúdo no prompt, por exemplo:

$ZF(-100,"/SHELL","echo","https://www.intersystems.com/")

Se o seu programa depende de mudar o diretório corrente, para ai sim executar o programa, utilize o comando a seguir antes da chamada:

Do ##class(%SYSTEM.Process).CurrentDirectory("/path/")
20
1 0 0 26