Tag Archive for 'bash'

Restingindo acesso com rbash

Como sysadmins vez por outra a gente precisa dar acesso a clientes, parceiros ou outro tipo de usuário temporário/untrusted aos servidores. Apesar de criar um jail root completo ser a melhor solução muitas vezes é mais trabalho do que o necessário e começa a entrar naquele cenário em que a segurança atrapalha a usabilidade e [...]

Desafio do Beakman

Lembram do Beakman?  uhauhauhauha…
Eu cai na seguinte situação: Tenho um número X de servidores que tem um usuário que eu posso utilizar para dar login. Existem 4 senhas possíveis para este usuário, mas eu não sei qual senha está em qual servidor, de forma que eu tenho que ir tentando até conseguir quando tento conectar [...]

Nested variables no Bash

Não sei ao certo como é o nome em português. Variáveis aninhadas?
Me deparei com um problema assim hoje: Eu tinha uma função num script shell que recebia um parâmetro de sucesso ou erro. Eu executava algumas coisas e depois tinha que jogar uns dados no arquivo respectivo.
Então inicialmente tinha setado uma variável com [...]

Arrays associativos no Bash 4.0

O Bash 4.0 foi lançado na segunda-feira e trouxe uma nova capacidade que sempre vejo as pessoas pedindo:  Arrays associativos.
E funciona que é uma maravilha…

$ echo $BASH_VERSION
4.0.0(1)-release
$ declare -A COMIDA
$ COMIDA[Arroz]=Branco
$ COMIDA[Feijao]=Tutu
$ COMIDA[Ovo]=Frito
$ COMIDA[CARNE]=Bife
$ echo ${COMIDA[@]}
Bife Tutu Branco Frito
$ echo ${COMIDA[Arroz]}
Branco
$ echo ${COMIDA[Feijao]}
Tutu
$ echo ${COMIDA[Ovo]}
Frito
$ echo ${COMIDA[CARNE]}
Bife

Mais informações sobre as novas features aqui.

Related posts

Truques no [...]

Truques no Bash

Alguns truques para facilitar o seu dia-a-dia na linha de comando:
!$
Representa a última parte do último comando executado. Exemplo:
$ grep macarrao comidas.txt
macarrao
$  cat !$
cat comidas.txt
arroz
feijao
batata frita
macarrao
Expansão automática
Expande automaticamente os valores entre chaves. Uma mão na roda para loops:
$ for i in {1..4}; do echo “i vale $i”; done
i vale 1
i vale 2
i vale 3
i vale [...]

Estou entre os maiores do shell scripting

Na foto (esquerda pra direita): Eu, Júlio Cézar Neves e Aurélio Marinho Jargas. Autores de “Programacão Shell Linux” e  Shell Script Profissional.
Entenderam? “Entre os maiores”? Hein? Hein?

Macaco do Chongas rulez. Voltamos à programação normal.

Related posts

mkfile for Linux (1)
Truques no Bash (1)
Nested variables no Bash (0)
Indo além do Bash (5)
Desafio do Beakman (4)

checkout

À medida que você precisa administrar mais e mais servidores, cada um rodando seus serviços e daemons específicos fica mais complicado saber o que está em casa máquina.
Pior ainda quando você precisa que alguém com menos experiência ou conhecimento (aka suporte nível 1) verifique para você o estado do servidor.
A idéia é então centralizar essa [...]

mkfile for Linux

Eu não conhecia o mkfile do Solaris até ontem, mas foi só usar um pouco e deu pra ver que é muito mais prático e rápido do que ficar utilizando o dd no Linux.
Não sei os meus 2 leitores geeks (já que meu pai, minha mãe e minha esposa – meus outros 3 leitores – [...]

Utilizando o VIM como IDE para o Bash

Como já devem saber eu sou da turminha do vi. Nada contra o Emacs, lógico, mas vi é vi.
O relacionamento com ele nunca começa bem. Lembro-me que a primeira vez que abri o vi, num SCO Unix, o único jeito que consegui sair do editor foi rebootando a máquina. Eu não tinha nem idéia de [...]

Morre!

Uma funçãozinha muito útil do Perl é a “die”. Fica fácil gerar mensagens de erro e já abortar a execução numa tacada só.
Segue a versão primo-pobre para bash:
function die () { echo “$progname: $1″; exit ${2:-1}  ; }
Exemplos de uso:
[ ! -f /tmp/teste.txt ] && die “Arquivo não existe”
ou
[ "$A" -ne 0 ] && die [...]