* 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.
//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
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