BASH

*******************************************************************************
Configurar o bash no Debian 4.0 (Etch)
Criado por: Alessandro C. M. Kuramoto
Data: 15/08/2009
Modificado em: 10/04/2010-08:00
v.20100410-08:00
Por favor, matenham o nome do autor deste arquivo.
*******************************************************************************

###############################################################################
# Avisos!!!
###############################################################################

http://memovirtual.worpress.com

## Atenção no site memovirtual:
## As opções passadas com – - (menos,menos) no site podem ter ficado
## com um — (travessão), assim use o “man” para confirmar a opção utilizada

## Desculpem-me pelos erros de português, mas vocês sabem…
## nossa lingua é fácil… e às vezes ao escrever o pensamento está
## lá na frente, enquanto que a digitação…

|##########^ Avisos!!! #######################################################|

###############################################################################
# Temp:
###############################################################################

VER:

http://www.guiafoca.org/guia/avancado/ch-pers.html

Tratando as variáveis do Shell:

export PS1=’\[\e[1;31m\]\u@\h\[\e[0m\] \[\e[1;34m\]\w\[\e[0m\] \$ ‘

### Sintoma:
1. Ao executar o comando . .bashrc aparece a mensagem de erro:
-sh: `_debconf-show’: not a valid identifier

2. E, ao logar não carrega as variáveis corretamente.

### Erro:
-sh: `_debconf-show’: not a valid identifier

### Causa:
O Shell padrão do usuário era /bin/sh

### Solução:
Foi mudado para /bin/bash

|##########^ Temp ############################################################|

###############################################################################
# Conceitos:
###############################################################################

(Fonte: http://hacktux.com/bash/bashrc/bash_profile)
When BASH is invoked as a login shell, the following files are executed in the displayed order.

1. /etc/profile
2. ~/.bash_profile
3. ~/.bash_login
4. ~/.profile

Although ~/.bashrc is not listed here, most default ~/.bash_profile scripts run ~/.bashrc.

===============================================================================
Explicação Sobre os Arquivos Principais do BASH:
===============================================================================

.bashrc:

(Fonte: http://hacktux.com/bash/bashrc/bash_profile)
- The ~/.bashrc file gets executed when you run bash using an interactive shell that is not a login shell.

(Fonte: http://www.guiafoca.org/guia/avancado/ch-pers.html#s-pers-bashprofile)
Este arquivo reside no diretório pessoal de cada usuário. É executado por shells que usam autenticação (nome e senha). .bash_profile contém comandos que são executados para o usuário no momento do login no sistema após o /etc/profile. Note que este é um arquivo oculto pois tem um “.” no inicio do nome.

Por exemplo colocando a linha: alias ls=’ls –colors=auto’ no .bash_profile, cria um apelido para o comando ls –colors=auto usando ls, assim toda vez que você digitar ls será mostrada a listagem colorida.

.bash_profile:
(Fonte: http://hacktux.com/bash/bashrc/bash_profile)
The ~/.bash_profile only gets executed during a login shell

|==========^ Explicação Sobre os Arquivos Principais do BASH =================|

|<<<<<<<<<<<<<< #### Conceitos ####

|##########^ Conceitos #######################################################|

###############################################################################
# Variáveis Padrões de Ambiente:
###############################################################################

EDITOR    — serve para definir o editor de texto padrão;
Exemplo: export EDITOR=’/usr/bin/vim’

|##########^ Variáveis Padrões de Ambiente ###################################|

===============================================================================
Modificando o tratamento do history:
====================================

### Aumentando o tamanho do history:
## Aumenta o tamanho do history corrente (na memória)
export HISTSIZE=20000
## Aumenta o tamanho do arquivo de ~/.bash_history
export HISTFILESIZE=20000

# (Fonte: http://www.dicas-l.com.br/dicas-l/20090604.php)
###Adicionando data e hora ao history:
## Setar a variável HISTTIMEFORMAT:
export HISTTIMEFORMAT=”%F %T “

|=== ^Modificando o tratamento do history:====================================|

===============================================================================
(Fonte: http://aurelio.net/shell/canivete.html#cores)
Código de Cores ANSI:

echo -e ‘\e[31;1m Vermelho Negrito \e[m'
echo -e '33[31;1m Vermelho Negrito 33[m'

echo -e '\e[41;37;1m O \\e[ - Comeca, 41 - Fundo Vermelho, 37 - Letra branca, 1 - Negrito \e[m Normal'

Cor         Letra (3x)     Fundo (4x)     Atributo     Valor     Exemplos: ESC [ <N>;<N> m
Preto         30         40         Reset         0     ESC[m texto normal (desliga cores)
Vermelho     31         41         Negrito     1     ESC[1m negrito
Verde         32         42         Sublinhado     4     ESC[33;1m amarelo
Amarelo     33         43         Piscando     5     ESC[44;37m fundo azul, letra cinza
Azul         34        44         Reverso     7     ESC[31;5m vermelho piscando
Rosa         35         45                     Na linha de comando:
Ciano         36         46                     echo -e '\e[33;1m amarelo \e[m'
Branco         37         47                     echo -e '33[33;1m amarelo 33[m'

===============================================================================

###############################################################################
# Modificando as Variáveis de Ambiente:
###############################################################################

Modificando as variáveis de ambiente padrão:

===============================================================================
Modificando a variável PS1 do Debian no .bashrc:
===============================================================================

## O arquivo /etc/bashrc normalmente contém funções e aliases

## O arquivo ~/.bashrc normalmente contém funções e aliases e é individual para
## cada usuário, repare no til "~", que significa: o diretório do usuário logado

_______________________________________________________________________________
Arquivo: /home/usuario/.bashrc (Permissões: -rw-r--r-- 1 usuario usuario)
Debian 4.0 Etch
--------------------------------------------------------------------------
.
..
...

# set a fancy prompt (non-color, unless we know we "want" color)
#case "$TERM" in
#xterm-color)
#    PS1='${debian_chroot:+($debian_chroot)}\[33[01;32m\]\u@\h\[33[00m\]:\[33[01;34m\]\w\[33[00m\]\$ ‘
#    ;;
#*)
#    PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ‘
#    ;;
#esac

#### Para o conteúdo da variável PS1 ficar colorido:
# Comment in the above and uncomment this below for a color prompt
PS1=’${debian_chroot:+($debian_chroot)}\[33[01;32m\]\u@\h\[33[00m\]:\[33[01;34m\]\w\[33[00m\]\$

#### Em caso de acesso pelo console, por exemplo: gnome-terminal e para aparecer
#### o nome na barra de título ou na aba defina a variável PROMPT_COMMAND:
## (Fonte: http://www.faqs.org/docs/Linux-mini/Xterm-Title.html)
## Testado no Debian
# If this is an xterm set the title to user@host:dir
case “$TERM” in
xterm*|rxvt*)
PROMPT_COMMAND=’echo -ne “33]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}07″‘
;;
*)
;;
esac


..
.
|———-^ Arquivo: /home/usuario/.bashrc ———————————-|

_______________________________________________________________________________
Arquivo: /home/usuario/.bashrc (Permissões: -rw-r–r– 1 usuario usuario)
Debian 5.0 Lenny
————————————————————————–
.
..

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
force_color_prompt=yes

#### Em caso de acesso pelo console, por exemplo: gnome-terminal e para aparecer
#### o nome na barra de título ou na aba defina a variável PROMPT_COMMAND:
case “$TERM” in
xterm*|rxvt*)
## Original:
#PS1=”\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1″
PS1=”\[\e]0;${debian_chroot:+($debian_chroot)}\h: \u \w\a\]$PS1″
;;
*)


..
.
|———-^ Arquivo: /home/usuario/.bashrc ———————————-|

_______________________________________________________________________________
Arquivo: /etc/bash.bashrc (Permissões: -rw-r–r– 1 root root)
Debian 4.0 Etch
————————————————————————–
.
..

# set a fancy prompt (non-color, overwrite the one in /etc/profile)
#PS1=’${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ‘
PS1=’\[\e[1;31m\]\u@\h\[\e[0m\] \[\e[1;34m\]\w\[\e[0m\] \$

..
.
|—————————————————————————–|

###############################################################################
# Histórico de Comando no Bash:
###############################################################################

## Adicionar o histórico em memória ao arquivo .bash_history
history -a

HISTCONTROL=ignoreboth
(Fonte: http://www.ducea.com/2006/05/15/linux-tips-take-control-of-your-bash_history/)

|<<<<<<<<<<<<<< #### Histórico de Comando no Bash ####

===============================================================================
Histórico com Data e Horário no Bash
===============================================================================

Essa dica é bem legal em ambientes onde mais de um administrador têm acesso aos servidores linux. Muitas vezes queremos saber quando determinado comando foi rodado ou alguma alteração realizada e na maioria das vezes utilizamos o comando history para isso.

Basta colocar no /etc/profile:

readonly HISTTIMEFORMAT=”%d/%m/%Y as %T -> “
export HISTTIMEFORMAT
Neste caso a variavel fica como “somente leitura” e os usuarios da maquina nao poderão muda-la. Se quiserem deixar aberta basta tirar o “readonly” da declaração da variavel
(Fonte: http://www.dicas-l.com.br/dicas-l/20070527.php)

|<<<<<<<<<<<<<< #### Histórico de Comando no Bash ####
|<<<<<<<<<<<<<< ==== Histórico com Data e Horário no Bash ====

export HISTTIMEFORMAT=”%F %T “
HISTTIMEFORMAT=”%d/%m/%Y %H:%M:%S ”

HISTTIMEFORMAT=”%c # ”

(Fonte: http://tarzxvf.com/bash_history-com-data)

|==========^ Histórico com Data e Horário no Bash ============================|

|<<<<<<<<<<<<<< #### Histórico de Comando no Bash ####

|##########^ Histórico de Comando no Bash ####################################|

###############################################################################
# Troubleshooting
###############################################################################
>Troubleshooting

——————————————————————————-
### Erros conhecidos:
## Questão/ Problema: (Question/Issue)

Caso a variável PROMPT_COMMAND continue vazia.

## Sintoma: (Symptoms)

- O nome da máquina, por exemplo, não apareceu na barra de título;
- Ao executar o comando: echo $PROMPT_COMMAND, a variável continua
vazia;

## Causa: (Cause)

Provavelmente o Shell utilizado não seja o Bash.

## Solução: (Solution)

Verifique no arquivo /etc/passwd ou com o comando: echo $SHELL se o
Shell utilizado é o /bin/bash, caso não seja, faça o ajustes
necessários.

|—————————————————————————–|

|##########^ Troubleshooting #################################################|

###############################################################################
# Referências:
###############################################################################
>Referências

http://www.dicas-l.com.br/dicas-l/20000817.php

http://www.vivaolinux.com.br/artigo/Otimizando-o-controle-e-a-digitacao-de-comandos-no-shell/?pagina=3

Canivete Suiço SHELL:

http://aurelio.net/shell/canivete.html

http://www.faqs.org/docs/Linux-mini/Xterm-Title.html

|##########^ Referências #####################################################|

  1. Nenhum comentário ainda.
  1. Nenhum trackbacks ainda.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.