output de urlencode e urldecode

Como fazer URL encode/decode com shell script

Quando estamos trabalhando com URLs e/ou APIs REST, precisamos com frequência converter uma string para um formato válido de URL, conhecido como URL encoded. Se estivermos trabalhando com o curl é tranquilo, já temos a nossa disposição a opção --data-urlencode. Mas quando não vamos usar o curl, podemos implementar nossa própria solução usando bash puro. urlencode() Eis o código: #!/usr/bin/env bash # # urlencode - codificando sua string para usar em URLs urlencode() { local LC_ALL=C local string="$*" local length="${#string}" local char for (( i = 0; i < length; i++ )); do char="${string:i:1}" if [[ "$char" == [a-zA-Z0-9....

janeiro 5, 2020 · 5 minutos · meleu
code snippet

Como checar se um array contém um determinado elemento

Quando estamos trabalhando com arrays em shell scripts é comum termos situações onde queremos saber se um determinado elemento está presente no array. O bash não tem um recurso específico para isso, portanto temos que arrumar um outro jeito. Neste artigo estudaremos três maneiras de alcançar esse objetivo. Método 1: infalível, porém “custoso” A maneira que logo vem a mente é percorrer todo o array através de um loop e checar se o elemento está presente lá....

janeiro 3, 2020 · 7 minutos · meleu
função joinBy()

Como juntar elementos de um array separando-os com um caracter qualquer

Eu estava precisando juntar os elementos do array em uma só string usando um | como separador. Em linguagens como JavaScript e PHP isso é obtido através de funções/métodos nativos, tipo join() ou implode(). Em bash teremos que implementar nós mesmos. Código Uma rápida googlada me levou a uma solução bem simples e bacana. Mostro aqui a minha versão: joinBy() { local IFS="$1" echo "${*:2}" } Agora vamos ver esse código em ação:...

dezembro 31, 2019 · 2 minutos · meleu
exemplo de output do cheat.sh

cheat.sh: obtendo exemplos e macetes dos mais diversos comandos

Recentemente conheci um site muito maneiro para os amantes da linha de comando: https://cheat.sh E o que mais gostei dele é que conseguimos ter uma interação prazeirosa simplesmente acessando via curl. Abra o seu terminal e experimente você mesmo com o seguinte comando: curl cheat.sh Trata-se de um site com um repositório com diversos macetes de comandos, linguagens de programação, algoritmos, etc. Por exemplo, imaginemos que queremos ver alguns macetes do comando sudo....

dezembro 27, 2019 · 2 minutos · meleu
shebang

O que o #! realmente faz?

Para tornar o primeiro post deste blog bem simbólico, vamos falar sobre a primeira coisa que devemos colocar em um shell script: o #! (vulgarmente chamado de shebang ou hashbang). Como o #! funciona? O #! shebang serve para dizer ao kernel qual será o interpretador a ser utilizado para executar os comandos presentes no arquivo. Quando executamos um arquivo que começa com #!, o kernel abre o arquivo e pega tudo que está escrito após o shebang até o final da linha....

dezembro 21, 2019 · 6 minutos · meleu