shell.pris

Adalberto

24 nov 2023


Biblioteca shell permite comandos shell (ou cmd) como se fossem funções em Prisma. mais...

shell.pris

Biblioteca shell permite comandos shell (ou cmd) como se fossem funções em Prisma.
* Ex.: shell.clear(); //no linux
* shell.cls(); //no win * * Qualquer comando do terminal ou cmd pode ser executado como método de shell. * * Veja: * shell.ls('.');
* shell.cp('a.txt', '/path/destino/'); * *

* Esta biblioteca utiliza o metamétodo __index para simular as funções e a função es.pabra() para executar * os comandos, sendo assim é possível pegar o retorno de tudo que foi impresso pelo comando em uma tabela. E * qualquer comando shell ou cmd pode ser usado após o nome shell.

Veja os exemplos:

📋
 Exemplo.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 //teste da lib shell

local shell = inclua'shell'

imprima(shell.info);
imprima(shell.VERSAO);

funcao principal()
    local ret;
    ret = shell.uname('-a');
    imprima(tabela.concat(ret,'\n'));
    
    poe'Apagando zz.zip e zz.tar se houver';
    shell.rm('zz.zip', 'zz.tar');
    leia();
    
    poe'\n\n------------------------------'
      // Diretório atual:
    ret = shell.pwd();
    imprima(ret[1]);
    //usando o retorno do diretório atual para listar e arquivar em um zip:
    ret = shell.ls(ret[1]):zip('zz.zip');//o retorno é uma tabela indexada ([1],[2]...);
    imprima(tabela.concat(ret,'\n'));
    leia();
    ret = shell.cat(args[0]);
    poe'\n\n------------------------------';
    imprima( tabela.concat(ret,'\n'));
    
    poe'\n\n------------------------------'
    ret = shell.grep('reto'.. 'rne', args[0]);
    imprima(tabela.concat(ret,'\n'));
    
    
    
    poe'\n\n------------------------------'
      // Espaço em disco em MB:
    ret = shell.df('-m');
    imprima(tabela.concat(ret,'\n'));
    
    poe'\n\n------------------------------'
      // comando TAR:   tar -cvf arquivo.tar   pasta_ou_arquivo_alvo
    ret = shell.tar('-cvf', 'zz.tar', '.');
    imprima(tabela.concat(ret,'\n'));
    
    poe'\n\n------------------------------'
      // comando ps
    ret = shell.ps('-e');
    imprima(tabela.concat(ret,'\n') );
    
    //qualquer comando linux terminal que você souber poderá ser usado assim:  shell.seucomando(args...);
    
    
    retorne 0;
fim