Aula 7.18: Expansão de variáveis Linux shell

COMPARTILHAR:

Whatsapp Telegram Twitter Facebook Reddit

Aula 7.18 - Como funciona expansão de variáveis no terminal Linux

      

Este artigo faz parte do projeto #LTCode

A shell provê alternativas para a expansão de uma string com valor null.

O modificador :– usa o valor padrão que você definir no lugar de variáveis null ou indefinidas, enquanto permite que uma variável não nula represente a si própria.

O modificador :- não altera o valor da variável. Contudo, é possível modificar o valor de uma variável null ou indefinida para seu valor padrão em um script usando o modificador := .

O comando interno : (dois pontos) avalia cada token do comando que se segue, mas não executa nenhum comando. Se não tivesse o comando : (dois pontos) no começo, a shell avaliaria a expansão e tentaria executar o comando resultante dessa avaliação.

Se a variável for null ou indefinida, o modificador :? faz com que o script mostra uma mensagem e termine com um status de saída 1.

Se a variável não for indefinida ou null, então expande-se para o valor padrão definido por :+ .

Existem ainda outras expansões de variáveis:

${parametro:deslocamento} e ${parametro:deslocamento:comprimento}

Nesse caso deslocamento indica o caractere de início e comprimento a quantidade de caracteres (se não especificado expande-se até o final).

${#parametro}

Usado para obter o tamanho (comprimento) de valor de uma variável. Pode-se obter também o tamanho de um arranjo (quantidade de elementos), expandindo o arranjo com índices * ou @. E para obter o tamanho de um elemento do arranjo, basta referenciar pelo índice.

${parametro#palavra} e ${parametro##palavra}

O operador # remove o prefixo casado mínimo, enquanto ## o prefixo casado máximo, onde palavra é expandido como expansão de arquivos.

${parâmetro%palavra} e ${parâmetro%%palavra}

O operador % remove o sufixo casado mínimo, enquanto %% o sufixo casado máximo, onde palavra é expandido como expansão de arquivos

${parâmetro/padrão/string}

O padrão é expandido para encontrar o primeiro padrão assim como em expansão de arquivos, mas substitui string com o maior casamento da expansão de parâmetro.

${parâmetro//padrão/string}

Similar ao anterior, mas as "//" antes do padrão indicam que deve-se substituir todas as ocorrências do padrão casada por string para a expansão do parâmetro.

Próxima aula, clique aqui.

COMENTÁRIOS

Nome

#ann,25,#HK,30,#LTCode,130,Artigo - Diversos,156,Artigo - Games,201,Artigo - Tecnologia,615,autor-thomaz,7,Coluna - Alternative World,24,Coluna - Fail,12,Coluna - Tec Line,14,Criptomoeda,72,Curiosidades - Diversos,49,Curiosidades - Tecnologia,50,en,2,estudo,8,HN,12,logica,14,Pentest,23,Programar C,29,Programar POO,6,Programar Python,6,Programar Shell,25,Programar verilog,12,qradar,4,Raspberry Pi,15,Redes,3,root,117,Shorty Awards,1,Smartphones - Reviews,33,Teoria,10,Top Nostalgia,2,VPN,19,WhatsApp,46,
ltr
item
Limon Tec: Aula 7.18: Expansão de variáveis Linux shell
Aula 7.18: Expansão de variáveis Linux shell
Aula 7.18 - Como funciona expansão de variáveis no terminal Linux
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmI65og5X32bSLCmBz3uJnZlmDvzOFWZWoZzyvUhh2rtp8Hr_kolKy02pOjxpkThrz8uHaTu3skUdeDJlkFEKkC2a9EabpwPzbwJ-hm-po0QIaNeNvYm5CJw3k4SbN03V-d2h1dxrW2tz4/s640/ltcode.jpg
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmI65og5X32bSLCmBz3uJnZlmDvzOFWZWoZzyvUhh2rtp8Hr_kolKy02pOjxpkThrz8uHaTu3skUdeDJlkFEKkC2a9EabpwPzbwJ-hm-po0QIaNeNvYm5CJw3k4SbN03V-d2h1dxrW2tz4/s72-c/ltcode.jpg
Limon Tec
https://www.limontec.com/2023/03/aula-7-18-shellscript-ltcode.html
https://www.limontec.com/
https://www.limontec.com/
https://www.limontec.com/2023/03/aula-7-18-shellscript-ltcode.html
false
2157924926610706248
UTF-8
Carregar todos posts Não encontramos nenhum post VER TUDO Ler mais Responder Cancelar resposta Deletar Por Home PÁGINAS POSTS Ver tudo RECOMENDADO PARA VOCÊ LABEL ARQUIVO SEARCH TODOS POSTS Não encontramos nenhum post relacionado a sua requisição VOLTAR PÁGINA INICIAL Domingo Segunda Terça Quarta Quinta Sexta Sábado Dom Seg Ter Qua Qui Sex Sab Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro Jan Fev Mar Abr Maio Jun Jul Ago Set Out Nov Dez apenas agora 1 minuto atrás $$1$$ minutes ago 1 hora atrás $$1$$ hours ago Ontem $$1$$ days ago $$1$$ weeks ago mais de 5 semanas atrás Seguidores Seguir ESTE CONTEÚDO ESTÁ BLOQUEADO PASSO 1: Compartilhe com seus amigos PASSO 2: Clique no link compartilhado Copiar Todo Código Selecionar Todo Código Todos códigos foram copiados para seu clipboard Não é possível copiar códigos / textos, por favor aperte [CTRL]+[C] (ou CMD+C no Mac) para copiar Tabela de conteúdo