Script para instalar o bash e configurar o ambiente com aliases e vim
Posted by gondim | Posted in FreeBSD, Shell Script | Posted on 03-05-2012
Tags:bash, editor, sh, shell, vi, vim
2
Comecei minha vida *NIX usando Xenix e SCO Unix, nessa época usava “sh” como shell e “vi” como editor, isso era em 1991 à 1994 se eu me recordo bem. Nessa época eu era Programador Clipper Summer 87 no mundo DOS e Programador COBOL no mundo *NIX. Em 1996 me apresentaram minha primeira distribuição GNU/Linux, o Slackware cujo kernel era o Linux 1.2.13. Com o tempo comecei à usar o bash e o vim no lugar dos anteriores e gostei destes pois eram mais amigáveis e no caso do bash parecia ter mais recursos. 🙂 Em 2010 quando comecei à usar o FreeBSD tentaram me convencer à usar o csh/tcsh, tentei mas o vício no bash foi mais forte. rsrsrs Então resolvi adaptar o ambiente shell que eu tinha no GNU/Linux para o FreeBSD e baseado nessa tentativa fiz um script para automatizar o processo. O script abaixo é livre para ser usado e alterado e estou aceitando melhorias. 😀
O que esse script faz é o seguinte:
1º – Atualiza o Ports.
2º – Instala o bash.
3º – Muda a shell do root para bash.
4º – Muda o prompt na shell para um prompt mais informativo. Fique à vontade de alterar para o seu gosto, se já possuir algum. Se estiver logado como root a palavra “root” fica em vermelho para lembrar de ter cuidado por estar logado como root.
5º – Cria os aliases: “l” para listar muito mais informação como arquivos e diretórios que comecem com “.”, com identificação colorida diferenciando diretórios, arquivos executáveis dentre outros. Também inclui na listagem a coluna de flags modificada pelo utilitário chflags que é um utilitário muito importante em configurações de segurança. “rm”, “mv”, “cp” com o parâmetro “-i” para forçar uma confirmação se realmente quer apagar, mover ou copiar por questões de segurança. Como os aliases possuem o mesmo nome dos comandos se quiser rodá-los em sua forma original, ou seja, sem o “-i” basta rodar o comando com uma “\” antes. Exemplos:
Usando o alias com o “-i”:
# rm teste
remove teste?Usando o comando sem o “-i”, anulando o alias:
# \rm teste
#
Também é adicionado o alias “vi” apontando para o editor vim.
6º – Instala e configura o vim.
7º – Configura teclas como home, end e del para funcionarem amigavelmente.
Abaixo o script:
#!/bin/sh
# MyFreeHome 1.2: Configura ambiente amigavel no FreeBSD
# ======================================================
# Data: 20/09/2011
# Hora: 23:59
# Baseado no documento: http://www.cyberciti.biz/faq/freebsd-install-vim-editor-without-x11-gui/
##############################################################
clear
echo “=== MyFreeHome 1.2 ===”
echo
echo “Atualizando Ports…”
echo
portsnap fetch update
echo
echo “Instalando BASH…”
echo
cd /usr/ports/shells/bash
make install clean distclean
echo
echo “Mudando shell do root para bash…”
pw usermod root -s /usr/local/bin/bash
echo
echo “Instalando novo prompt e aliases…”
echo “if [ \`/usr/bin/whoami\` = ‘root’ ]” >> /root/.profile
echo ” then” >> /root/.profile
echo ” PS1=’\[\033[36m\](\[\033[01;31m\]\u\[\033[01;37m\]@\h\[\033[00m\]\[\033[36m\])\[\033[00m\]\[\033[36m\][\[\033[01;37m\]\w\[\033[00m\]\[\033[36m\]]\[\033[01;37m\]\[\033[36m\]\\$ \[\033[00m\]'” >> /root/.profile
echo ” else” >> /root/.profile
echo ” PS1=’\[\033[36m\](\[\033[32;33;1m\]\u\[\033[01;37m\]@\h\[\033[00m\]\[\033[36m\])\[\033[00m\]\[\033[36m\][\[\033[01;37m\]\w\[\033[00m\]\[\033[36m\]]\[\033[01;37m\]\[\033[36m\]\\$ \[\033[00m\]'” >> /root/.profile
echo “fi” >> /root/.profile
echo “” >> /root/.profile
echo ‘alias l=”ls -laAGo”‘ >> /root/.profile
echo ‘alias rm=”rm -i”‘ >> /root/.profile
echo ‘alias mv=”mv -i”‘ >> /root/.profile
echo ‘alias cp=”cp -i”‘ >> /root/.profile
echo ‘alias vi=”vim”‘ >> /root/.profile
echo
echo “Instalando VIM sem suporte a X11…”
cd /usr/ports/editors/vim
make WITHOUT_X11=yes install clean distclean
cp /usr/local/share/vim/vim73/vimrc_example.vim /usr/local/share/vimrc
touch /root/.vimrc
echo “set nocompatible” >> /root/.vimrc
echo “filetype on” >> /root/.vimrc
echo “filetype plugin on” >> /root/.vimrc
echo “set laststatus=2” >> /root/.vimrc
echo “syntax on” >> /root/.vimrc
echo
echo “Criando melhorias no sistema…”
echo
echo “export INPUTRC=/usr/local/etc/inputrc” >> /etc/profile
echo “set meta-flag on” >> /usr/local/etc/inputrc
echo “set input-meta on” >> /usr/local/etc/inputrc
echo “set convert-meta off” >> /usr/local/etc/inputrc
echo “set output-meta on” >> /usr/local/etc/inputrc
echo “” >> /usr/local/etc/inputrc
echo ‘”\e[1~”: beginning-of-line’ >> /usr/local/etc/inputrc
echo ‘”\e[4~”: end-of-line’ >> /usr/local/etc/inputrc
echo ‘”\e[5~”: beginning-of-history’ >> /usr/local/etc/inputrc
echo ‘”\e[6~”: end-of-history’ >> /usr/local/etc/inputrc
echo ‘”\e[3~”: delete-char’ >> /usr/local/etc/inputrc
echo ‘”\e[2~”: quoted-insert’ >> /usr/local/etc/inputrc
echo ‘”\e[5C”: forward-word’ >> /usr/local/etc/inputrc
echo ‘”\e[5D”: backward-word’ >> /usr/local/etc/inputrc
echo
echo ” Fim de instalacao! Favor relogar e bom uso!”
echo
Testem o script primeiramente em um ambiente de testes, se gostarem do resultado então façam bom proveito deste.