Bash scripting cheatsheet (Português)

Getting started

Introduction

This is a quick reference to get started with Bash scripting.

  • aprenda bash em y minutos (learnxinyminutes.com)
  • Bash Guide (mywiki.wooledge.,td> ${FOO:(-3):3} Substring from the right

    Length

    Expression Description
    ${#FOO} Length of $FOO

    Manipulation

    Default values

    Omitting the : removes the (non)nullity checks, e.,g. ${FOO-val} expands to val if unset otherwise $FOO.,/div>

    Expression Description $# Number of arguments $* All arguments $@ All arguments, starting from first $1 First argument $_ Last argument of the previous command

    See Special parameters.,043f44″>

File conditions

Example

# Stringif ]; then echo "String is empty"elif ]; then echo "String is not empty"else echo "This never happens"fi
# Combinationsif ]; then ...fi
# Equalif ]
# Regexif ]
if (( $a < $b )); then echo "$a is smaller than $b"fi
if ]; then echo "file exists"fi

Arrays

Defining arrays

Fruits=('Apple' 'Banana' 'Orange')
Fruits="Apple"Fruits="Banana"Fruits="Orange"

Working with arrays

Operations

Iteration

for i in "${arrayName}"; do echo $idone

Dictionaries

Defining

declare -A sounds
sounds="bark"sounds="moo"sounds="tweet"sounds="howl"

Declares sound as a Dictionary object (aka associative array).,

Trabalhar com dicionários

Iteração

Iterar sobre valores

for val in "${sounds}"; do echo $valdone

Iterar sobre as teclas

for key in "${!sounds}"; do echo $keydone

Opções

Opções

set -o noclobber # Avoid overlay files (echo "hi" > foo)set -o errexit # Used to exit upon error, avoiding cascading errorsset -o pipefail # Unveils hidden failuresset -o nounset # Exposes unset variables

Glob opções

Set GLOBIGNORE como um separado por dois pontos, lista de padrões para ser removido da globmatches.,> Expand all parameters of most recent command !-n Expand nth most recent command !n Expand nth command in history !<command> Expand most recent invocation of command <command>

Operations

!! and !$ can be replaced with any valid expansion.,aec7ee5e”>

) !^ Expand first argument from most recent command !$ Expand last token from most recent command !!:n-m Expand range of tokens from most recent command !!:n-$ Expand nth token to last from most recent command

!! can be replaced with any valid expansion i.,e. !cat !-2 !42, etc.,

Special variables

Expression Description
$? Exit status of last task
$! PID of last background task
$$ PID of shell
$0 Filename of the shell script

See Special parameters.,

pwd # /home/user/foocd bar/pwd # /home/user/foo/barcd -pwd # /home/user/foo

Check for command’s result

if ping -c 1 google.com; then echo "It appears you have a working internet connection"fi

Grep check

if grep -q 'foo' ~/.bash_history; then echo "You appear to have typed 'foo' in the past"fi

Also see

Author: admin

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *