Transcrição do áudio
É coleguinha, agora pegou a hora de falar de teste. Bom, nós temos que testar as coisas. Por exemplo, um script, se ele dar pau, ele continua a executar. Sério. Então, imagine você que algo não foi feito e aí você sai cagalhando todo o ambiente porque você não testou se aquele algo funcionou ou não. Cara, isso é chato. Então você faz algo e testa, faz algo e testa, faz algo e testa, faz algo e testa. Muito diferente de uma programação Java, que você tem o try, catch ou accept, totalmente. E aí você tem a verificação, ele para a execução, vai para o cat, você faz todo o trabalho. Aqui não, cara. Você executa um comando testa, executa um comando testa, executa um comando testa. Então, o script é estrutural, ele é lutado de if do início ao fim. E isso é uma coisa normal. Entenderam? Isso é uma coisa normal. Beleza? Bom, então vamos lá. Teste e a expressão e ele me diz se é verdadeiro ou falso. Na verdade, isso é 0 e 1 e nós processamos zeros e uns. Beleza? Então, a expressão entre parênteses é a própria expressão. A negação da expressão. Se você quer naturalmente colocar aqui a expressão e o enter. E war, aqui é o war e aqui é o enter. Beleza? Você poderia usar o enter assim ou assim, não importa. Assim ou assim ou assim. Beleza? É comum usar isso aqui. A galera não usa isso aqui. Embora vai que um dia você encontra e fale, o cara não me explicou. Correto é isso aqui. E aí nós temos também algumas coisas que não é decorar, gente. Você com o passar do tempo aprende. Isso vai ficar na sua cabeça. Se o sistema de arquivos, aquele arquivo, ele é do tipo caracter, teclado, mouse, as coisas. Se aquilo é ali, se aquele arquivo é, por exemplo, um dispositivo especial de bloco. Isso aqui encaixa com as aulas de sistema de arquivos e, na verdade, tudo encaixa com a aula de sistema de arquivos. Mas esses dois tópicos se encaixam com a aula de formatação que você tiveram comigo. Legal? Se é um diretório, se o arquivo existe, se é um arquivo. Verdadeiro se o arquivo tiver um conjunto de permissões set-group-aid, permissões especiais. Aqui, verdadeiro se o arquivo for um link simbólico. E aqui tem todos os verdadeiros. Vários testes, vários testes, vários testes. Beleza? Passar o tempo você vai pegar na manha. Bom, aqui você testa assim, ó. Arquivo F1 e arquivo F2. Verdadeiro se o arquivo F1 for maior que o F2. Mais novo, desculpe. F1.OT.F2. Verdadeiro se o arquivo F1 for mais antigo que o F2. EF. Se é verdadeiro se o arquivo F1 for um hard link para F2. Então alguns testes também que costumam encontrar, embora seja raro encontrar isso aqui, tá? É raro encontrar isso aqui. Encontro bastante expressões simples assim. Se é um arquivo, se é um diretório, se existe. Beleza. Então muito simples. Olha como que a gente utiliza esse negócio aqui. Teste. Isso aqui não é script, tá galera? Isso aqui é command line. Isso aqui é command line terminal. Teste. Traço D. É um diretório, TMP. Se for verdadeiro, então e comercial e comercial. Se deu certo. Ó, na verdade a gente fala se é verdadeiro, mas a verdade correta é falar se deu certo. Se deu certo. Tá? Ele vai fazer isso aqui. Caso não deu certo é o or. Se não é o deu certo é o outro. É o outro. E o outro é o quê? Só pode ser o que deu errado, entendeu? Jogada? O que é o outro cara? É o outro pô. Entenderam? O caso verdadeiro é se deu. O outro é aquele. Então não é um diretório. Legal. TMPx. TMPx. Coloquei um x aqui. Então ele vai mostrar que não é um diretório. Isso aqui é um command line. Isso aqui não é um script. Vou mostrar pra você como coloca esse script daqui a pouquinho. Tá? Bom, aqui ó. Teste H. Tá? Então o exemplo abaixo vai lhe dar se é um link. Se iEdge é um link. Se é um link é um link existente. Então ele não é um link. E isso existe no seu sistema operacional porque você instalou o iEdge. Então o iEdge lá em uscr.bin.iEdge é um link para etc barra iEdge barra versão 64 barra alguma coisa alguma coisa. Legal? Depende da versão. Bom, vamos lá. Agora nós vamos fazer uma comparação. Em par de strings. Par de strings. String. String. Beleza? Verdadeiro, fulvazio. Verdadeiro, se não fulvazio. Que é o traço N. Um igual. Isso aqui quebra muita gente. Um igual. Ele tá comparando string como string. Como texto. Beleza? Então. Um igual. Isso aqui quebra uma pancada de gente. Diferente, menor ou maior. Beleza? Então aqui olha só. Ah o iSom é igual a iSom? Sim, é igual. Agora repare que a letra. Eu acho que é assim que se pronuncia. Eu não sei se pronuncia essa bosta. Essa letra maiúscula aqui vai naturalmente quebrar. Eu não sei onde tava com a cabeça cara. Eu poderia ter chamado botafogo e bostafogo. Esse dia. Eu acho que eu tava em processo de... teve um momento gente da minha vida que eu fiquei internado no hospício por um tempo. Então parte desse texto é de antes de eu ser internado no hospício. E parte desse texto, grande parte, é depois de eu passar pelo hospício. Entenderam? Aí é lógico que hoje tá um remédio desse hiper controlado. Normal cara. Normal. Então vamos lá. Aqui eu tenho Equal. Qual é a diferença disso aqui cara? Quando você quer trabalhar com o texto mas tendo uma representação numérica, é isso aqui. Entenderam? Quando você quer trabalhar com o texto mas com uma representação em texto, é isso aqui. Eu quebrei meio mundo já. Improva que essa história... Pô, que merda cara. Eu tô falando cara. Não é que o professor reprova o aluno. É o aluno que se reprova porque ele vem com a mentalidade de programação estruturada. Eu já vi aluno que é um fracasso em programação já. Eu cheguei nessa matéria e arregaçava. Arregaçava sem dó e sem piedade todo mundo. Eu cansei de ver cara. Porque o cara chegou com a mente crua, limpa, toda aquela estrutura rigorosa do Java. Ele chegou aqui conversando com eles, mostrando, mostrando, mostrando. O cara saiu programador porque também se você olhar que código você escreveu, ou o script você escreveu, nós já estamos na página 325 com mais de 50 linhas. Me diz qual? Não foi. Entende? Então quando o aluno ele aprende com um preço curto de código, ele aprende. Quando os caras vão dar aula de Java, os caras vão colocar Swing na história, WT na história, só aí já fodeu. Só aí já são duas mil linhas. Tô sacanhando tá galera? Tô sacanhando galera Java. E aí os caras agora querem ensinar, os caras programar com Java, mano. Com Java na xixa, na xixa lá. Pum! Cara, arquivo com 500, 600 linhas é um arquivo idiota. Login tem 500 linhas. Com HTML a porcaria é da tudo. Aqui não. Então aí o aluno chega aqui crua, aí ele de repente começa a pegar ali 20 linhas, 30 linhas, 10 linhas e o script começa a funcionar. Aí ele começa a se sentir bem. Tá? Antes de eu ir, eu acabei de ler o Espício, né? Antes de ir pro Espício eu fiz uma estrada ali e foi por causa disso. Eu acabei tendo ali que conhecer os livros, House, Belgs, Skinner, Figuart, Pavlov, essas porraiada toda da cognição, mano, da aprendizado, tudo mais. Esses caras todos eles divergem. Eu estou inspirando o Skinner e o Pavlov porque eles são um seguido do outro. É mesmo uma linha de pesquisa. O que acontece? É que eles divergem. Muita gente diverge. Puro motivo, muito simples. Cada um tem a sua visão sobre como o cérebro aprende, mas tem uma coisa que converge, um único ponto que converge de todos esses caras. Que o aluno tem que estar com a visão de que eu quero aprender. Eu gostei disso. É legal. Eu vou pra frente. Quando você faz scripts pequenos e vai conseguindo, vai maximizando sua cabeça. O seu cérebro vai ficando feliz, vem liberando, liberando substâncias. Aí eu maximizo a aprendizado e você vai lá longe. Por isso que se você só senta na aula e fica vendo o professor explicar, você não vai aprender nunca. Se você não chegar aqui e começar a executar esses comandos aqui, você não vai aprender nunca. Eu estou olhando o texto, mas na verdade como número, porque eu estou utilizando eql, zene, lte, le, gt, ge. Legal? Beleza. Aqui nós temos soma. Faz esse tipo de soma aqui. Eu acho escroto demais. Escroto demais. Eu prefiro assim. O valor total é igual, colaspa aqui, parentes parentes, a variável que tem um valor, espaço, isso, espaço, a variável que tem outro valor, espaço e aqui. E aqui você pode usar mais, menos, subtração, multiplicação. Aqui no caso é sobra. A porcentagem é sobra. E eu acho melhor assim, naturalmente. Lógico, lógico, lógico, né? Eu acho melhor. Eu acho mais visível que eu transformar em um string e mandar executar string dentro de um contexto como se fosse um eval. Isso aqui é muito semelhante com eval, cara. Lembra do eval? Coisa que não se faz. Fala nisso, galera. Porra, cara, olha só. O Linux tem vários problemas de eval. Log4j foi um eval. Tem várias falhas de sistema em cima de eval. Isso é como eval, cara. Você não vai fazer uma bosta dessa nunca. Você vai fazer assim. Operações matemáticas. Beleza? Só vai subtrair, pedir, tudo mais. Aqui você tem os símbolos, os operadores, chamados de operadores, operadores lógicos e aritméticos. Próxima aula vamos falar sobre o comando WII, que é o Divir O Condicional de Fluxo. É o nome correto a se tratar. Até mais. Tchau.