Postagens

Mostrando postagens de fevereiro, 2021

Variável de { . Variável de matriz

A variável de { serve para separar o nome da variável do que é escrito do lado. A=chucrute echo $As   Não ocorreu nenhuma saída porque a variável $As não existe. echo ${A}s  chucrutes  De forma alternativa pode utilizar aspas para separar o nome da variável dos caracteres seguintes. echo "$A"s  chucrutes Isso funciona bem, mas em algumas ocasiões as aspas pode se apresentar como falta de organização. ls ""$A"s  banana"  Enquanto: ls "${A}s  banana"  O shell interpreta a variável de matriz com a que tenha (  ) em sua formula.  Varm=(choco pamonha limão) O valor da variável Varm é um array porque apresenta um grupo de elementos.  | A  | B  | C  |  Elemento.  |0   |1   |2    |  Número do índice. Através do índice especifica o elemento. Muitas vezes o índice é chamado de subscrito. echo $Varm choco A saída foi choco já que por padrão a variável de matriz apresenta o índice 0.  echo  ${Varm[2]} limão  As chaves dão a função ao colchetes de determinar

Porque wc conta a quantidade de caractere +1 ?

 O wc -m             O operador -m diz para o wc contar a quantidade de caractere.                                                   echo Açucar | wc -m                                         R=7                                                          Deu 7 por um simples motivo o wc está contando com o regex \n que significa nova linha.  Para resolver isso é simples só é usar um comando que não usa \n que é o caso do printf ou utilizar o echo com operador -n.                                                                                                                                                                                                                  printf Açucar | wc -m                                   R=6  echo -n Açucar | wc -m O operador -n diz para o echo para não imprimir nada na nova linha.

Comando tee : Enviar saida do comando para um arquivo

 O tee pega a saida do comando e envia para um arquivo. echo lolota | tee nestout.txt cat nest  R=lolota O tee é um redirecionador, mas como pode ser visto o echo imprimiu na tela enquanto o tee copiou a saida do echo e mandou para um arquivo. O redirecionador > também envia a saida do comando para um arquivo só que faz com que o comando não imprima nada na tela. echo chocolate > output.txt Por padrão o tee apaga todas linhas primeiro do arquivo para só assim enviar a saida do comando, mas o operador -a diz para o tee não apagar nenhuma linha do arquivo e sim acrescentar novas linhas. echo chocolate | tee -a output.txt echo MM | tee -a output.txt cat output.txt R= chocolate                   MM Mandar mais de um arquivo de saida echo A1 | tee file1.txt file2.txt cat file1.txt R= A1 cat file2.txt R= A2 Mandar a saida do comando para o arquivo com permissões elevadas sudo echo ii > /etc/passwd R= Permissão negada O sudo está dando permissão de usuário root ao comando echo, mas o

loop for utilizando parêntese (( Manual .-Comando composto

for i in $(seq 1 5)  ; do echo $i ; done O mesmo que: for ((i=1 ;  i <= 5 ; i++))  ; do  echo $i ; done  O valor inicial da variável é descrito como (i=1). O limite até onde o valor da variável  pode chegar é especificado usando (i <= 5) ou seja a variável i pode chegar até o valor 5 somente mais que isso será parado o loop.  (i++) significa que a cada loop o valor da variável será somado +1.  Fazer com que a variável seja somado +2  for ((i=1 ; i <= 40 ; i=i+2)) ; do  echo $i ; done 1..39  Parou no 39 porque se somar 39+2=41 e 41 é maior que 40, e o limite de quantas vezes o loop for vai ser executado é (i <= 40). A seta diz que o valor máximo que a variável i pode chegar é 40 portanto mais que isso irá parar o loop. Duas  variáveis dentro do loop for  for ((i=1, x=6 ; i <= 35 ; i++, x=x+2))  ; do  echo $i -- $x ; done 1..35 Parou no 35 simplesmente porque a seta diz que o limite do valor da variável i é até 35 portanto o loop for será executado apenas 35 vezes.  A virg