Skip to content

Instantly share code, notes, and snippets.

@debxp
Created September 28, 2019 13:26
Show Gist options
  • Select an option

  • Save debxp/a9cc208671863f8eb7214d8c113b04d9 to your computer and use it in GitHub Desktop.

Select an option

Save debxp/a9cc208671863f8eb7214d8c113b04d9 to your computer and use it in GitHub Desktop.
Exemplos de expansões de parâmetros
. 1 .
${variavel^} - CAPITALIZA primeiro caracter
${variavel^^} - CAPITALIZA todos os caracteres
${variavel,} - minimiza primeiro caracter
${variavel,,} - minimiza todos os caracteres
EXEMPLOS:
teste="banana"; echo ${teste^}
Retorna: "Banana"
teste="banana"; echo ${teste^^}
Retorna: "BANANA"
teste="BANANA"; echo ${teste,}
Retorna: "bANANA"
teste="BANANA"; echo ${teste,,}
Retorna: "banana"
-----
. 2 .
${#variavel} - Número de caracteres de uma string
${#variavel[@]} - Número de elementos de uma array
EXEMPLOS:
teste="banana"; echo ${#teste}
Retorna: 6
teste=("banana" "laranja" "abacate"); echo ${#teste[@]}
Retorna: 3
----
. 3 .
${variavel[@]} - Retorna elementos de uma array
${!variavel[@]} - Retorna índices de uma array
EXEMPLOS:
teste=("banana" "laranja" "abacate"); echo ${teste[@]}
Retorna: "banana laranja abacate"
teste=("banana" "laranja" "abacate"); echo ${!teste[@]}
Retorna: "0 1 2"
-----
. 4 .
${variavel#busca} - Apaga apaga padrão "busca" a partir do início da string (inclusive)
${variavel##busca} - Apaga apaga até o último casamento do padrão "busca" a partir do início da string (inclusive)
EXEMPLOS:
teste="banana laranja abacate"; busca="*ba"; echo ${teste#$busca}
Retorna: "nana laranja abacate"
teste="banana laranja abacate"; busca="*ba"; echo ${teste##$busca}
Retorna: "cate"
teste="http://exemplo.com/downloads/arquivo.ext"; busca="*/"; echo ${teste#$busca}
Retorna: "/exemplo.com/downloads/arquivo.ext"
teste="http://exemplo.com/downloads/arquivo.ext"; busca="*/"; echo ${teste##$busca}
Retorna: "arquivo.ext"
-----
. 5 .
${variavel%busca} - Apaga padrão "busca" a partir do fim da string (inclusive)
${variavel%%busca} - Apaga até o último casamento de "busca" a partir do fim da string (inclusive)
EXEMPLOS:
teste="limão banana laranja abacate"; busca="ba*"; echo ${teste%$busca}
Retorna: "limão banana laranja a"
teste="banana laranja abacate"; busca="*ba"; echo ${teste%%$busca}
Retorna: "limão "
teste="http://exemplo.com/downloads/arquivo.ext"; busca="/*"; echo ${teste%$busca}
Retorna: "http://exemplo.com/downloads"
teste="http://exemplo.com/downloads/arquivo.ext"; busca="/*"; echo ${teste%%$busca}
Retorna: "http:"
-----
. 6 .
${variavel/busca/valor} - Substitui primeira ocorrência de "busca" por "valor"
${variavel//busca/valor} - Substitui todas as ocorrências de "busca" por "valor"
EXEMPLO:
teste="banana laranja abacate"; busca="ba"; valor="la"; echo ${teste/$busca/$valor}
Retorna: "lanana laranja abacate"
teste="banana laranja abacate"; busca="ba"; valor="la"; echo ${teste//$busca/$valor}
Retorna: "lanana laranja alacate"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment