2. Bash

2.1. Executando listas de comandos

  • xeyes & xeyes: executa os dois comandos ao mesmo tempo
  • xeyes ; xeyes: executa um, espera acabar, e depois o outro
  • Lista E: comando1 && comando2 o comando2 é executado se e somente se a execução do comando1 terminou com sucesso.
  • Lista OU: comando1 || comando2 o comando2 é executado se e somente se a execução do comando1 não terminou com sucesso.

2.2. Outros comandos

  • fg: coloca em primeiro plano o último processo em segundo plano
  • history
  • pwd
  • alias
  • Ctrl+D: Fecha a entrada padrão;
  • pushd: Empilha diretórios, útil pra navegar pelo filesystem e depois voltar onde estava com popd.

2.3. Loops

for i in $(ls); do
  echo item: $i
done

for i in `seq 1 10`; do
  echo $i
done

2.4. Condicional

2.4.1. If

if {}

2.4.2. Case

case $ANIMAL in
   cavalo | cachorro | gato) echo -n "quatro";;
   homem | canguru) echo -n "duas";;
   \*) echo -n "um número desconhecido de";;
esac
echo "pernas"

2.4.3. Select

select PROG in xeyes fortune break; do $PROG; done

2.5. Funções

function soma {
    bc $1 + $2
}

2.6. Outros assuntos

  • Variáveis de ambiente, export

Obs: o shell expande os comandos antes de começar a executar. Exemplo:

$ alias zoio='xeyes -fg yellow' && zoio
zsh: command not found: zoio
$ alias zoio='xeyes -fg black'; zoio  # abre xeyes com yellow
  • . script vs ./script: (. = source) executa no shell atual, o ./ abre um novo bash.