| Chave | Descrição | Exemplo | 
|---|---|---|
| $@ | Expande todos os argumentos passados ao script como uma lista separada. Útil para loops. | for arg in "$@"; do echo $arg; done– Itera sobre todos os argumentos passados ao script. | 
| $* | Expande todos os argumentos passados ao script como uma única string. | echo "$*"– Exibe todos os argumentos como uma única string. | 
| $# | Retorna o número de argumentos passados ao script. | echo "Número de argumentos: $#"– Mostra quantos argumentos foram fornecidos ao script. | 
| $? | Retorna o código de saída do último comando executado. | comando; echo $?– Exibe o código de saída do comando anterior. | 
| $0 | Nome do script em execução. | echo "Nome do script: $0"– Mostra o nome do script. | 
| ${!VARIAVEL[@]} | Retorna os índices de um array. | arr=("a" "b" "c"); echo ${!arr[@]}– Mostra os índices do arrayarr(0 1 2). | 
| ${VARIAVEL[@]} | Expande todos os elementos de um array. | arr=("a" "b" "c"); for i in "${arr[@]}"; do echo $i; done– Itera sobre os elementos do arrayarr. | 
| ${VARIAVEL[*]} | Expande todos os elementos de um array como uma única string. | arr=("a" "b" "c"); echo "${arr[*]}"– Exibe todos os elementos do array como uma string (a b c). | 
| ${#VARIAVEL} | Retorna o comprimento de uma string ou o número de elementos em um array. | texto="Hello"; echo ${#texto}– Mostra o comprimento da stringtexto(5). | 
| ${VARIAVEL:-padrao} | Retorna o valor da variável ou um valor padrão se a variável estiver vazia/não definida. | echo ${nome:-"Usuário"}– Mostra "Usuário" se a variávelnomeestiver vazia/não definida. | 
| ${VARIAVEL:+sub} | Retorna subse a variável estiver definida, caso contrário retorna nada. | nome="John"; echo ${nome:+Olá}– Mostra "Olá" senomeestiver definida. | 
| ${VARIAVEL:inicio:len} | Retorna uma substring a partir de uma posição inicial e comprimento específico. | texto="Olá Mundo"; echo ${texto:4:5}– Retorna "Mundo". | 
          Last active
          October 4, 2024 17:12 
        
      - 
      
- 
        Save nicolas-oliveira/333b7f092b8d0f8b9cecbd05b78f5b16 to your computer and use it in GitHub Desktop. 
    Bash Script Documentação e sintaxe completa
  
        | Tipo de Dado | Descrição | Exemplo | Comando / Sintaxe | 
|---|---|---|---|
| String | Sequência de caracteres que não precisa de declaração explícita. | texto="Olá Mundo" | texto="valor" | 
| Inteiro (Integer) | Números inteiros. | numero=123 | numero=123 | 
| Array Unidimensional | Lista indexada de valores. Cada valor pode ser acessado via índices. | arr=("valor1" "valor2" "valor3") | arr=("item1" "item2") | 
| Array Associativo | Arrays cujas chaves são strings ao invés de índices numéricos. Requer Bash 4+. | declare -A frutas; frutas[maçã]="vermelha"; frutas[banana]="amarela" | declare -A nome_array | 
| Booleano (True/False) | Não há um tipo explícito. Geralmente é manipulado com 0 e 1 (ou vazio), ou através de comandos. | [ $var -eq 1 ] && echo "True" | [ condição ] | 
| Null (Vazio) | Representa a ausência de valor. Uma variável não definida é considerada nula. | unset variavelouvariavel="" | unset variavelouvariavel="" | 
| Constantes (Read-Only) | Valores que não podem ser modificados após a inicialização. | readonly PI=3.1415 | readonly nome_variavel=valor | 
| Comando Subsistema (Command) | Utiliza o resultado de um comando como valor. | data=$(date) | variavel=$(comando) | 
| Expressões Regulares | Utilizadas para realizar comparações de padrões em strings. | [[ "arquivo.txt" =~ .*\.txt$ ]] | [[ string =~ regex ]] | 
| Cadeia de Comandos (Pipelines) | Executa uma sequência de comandos e utiliza seu resultado como valor para outro. | resultado=$(ls | grep .txt) | comando1 | comando2 | 
| Arithmetics | Operações matemáticas em inteiros. | resultado=$((5 + 3)) | $((expressão)) | 
| File Descriptor | Manipula arquivos abertos e redireciona entradas e saídas. | exec 3>arquivo.txt; echo "teste" >&3; exec 3>&- | exec fd>arquivoouexec fd<arquivo | 
| Variáveis de Ambiente | Variáveis globais do sistema que podem ser acessadas dentro dos scripts. | echo $HOME | $NOME_VARIAVEL | 
| Ação | Comando / Sintaxe | Exemplo | Descrição | 
|---|---|---|---|
| Obter comprimento de uma string | ${#string} | texto="Olá Mundo"; echo ${#texto} | Retorna o comprimento da string (número de caracteres). | 
| Substring | ${string:posicao:comprimento} | texto="Olá Mundo"; echo ${texto:4:5} | Extrai uma parte da string a partir de uma posição específica. | 
| Substituir parte da string | ${string/padrao/substituto} | texto="foo bar"; echo ${texto/foo/baz} | Substitui a primeira ocorrência do padrão pela string substituta. | 
| Substituir todas as ocorrências | ${string//padrao/substituto} | texto="foo foo"; echo ${texto//foo/baz} | Substitui todas as ocorrências do padrão pela string substituta. | 
| Remover substring (prefixo) | ${string#padrao} | texto="prefixo_arquivo"; echo ${texto#prefixo_} | Remove o menor prefixo que corresponda ao padrão. | 
| Remover substring (sufixo) | ${string%padrao} | texto="arquivo.txt"; echo ${texto%.txt} | Remove o menor sufixo que corresponda ao padrão. | 
| Converter para minúsculas | ${string,,} | texto="OLA"; echo ${texto,,} | Converte todos os caracteres da string para minúsculas. | 
| Converter para maiúsculas | ${string^^} | texto="ola"; echo ${texto^^} | Converte todos os caracteres da string para maiúsculas. | 
| Remover todos os espaços | echo "$string" | tr -d ' ' | texto="olá mundo"; echo "$texto" | tr -d ' ' | Remove todos os espaços da string. | 
| Dividir string em array | IFS='delimitador'; read -ra array <<< "$string" | IFS=' '; texto="foo bar"; read -ra arr <<< "$texto"; echo ${arr[1]} | Divide a string em um array com base no delimitador fornecido. | 
| Verificar se contém substring | [[ $string == *substring* ]] | texto="Olá Mundo"; [[ $texto == *Mundo* ]] && echo "Contém" | Verifica se a string contém uma determinada substring. | 
| Concatenar strings | resultado="$string1$string2" | texto1="Olá"; texto2=" Mundo"; resultado="$texto1$texto2"; echo $resultado | Concatena duas ou mais strings. | 
| Substring reversa | ${string: -N} | texto="abcdef"; echo ${texto: -3} | Retorna os últimos N caracteres da string. | 
| Remover todos os espaços extras | echo "$string" | xargs | texto="  olá  mundo  "; echo "$texto" | xargs | Remove espaços extras no início, no fim e entre palavras, deixando apenas um espaço. | 
| Inverter string | echo "$string" | rev | texto="abcd"; echo "$texto" | rev | Inverte a ordem dos caracteres da string. | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment