quarta-feira, 17 de março de 2010

Shell – Parte 4

Recursos adicionais do Korn Shell
alias
Apelida comandos Unix.
EXEMPLO:
isis:~ # alias dir="ls -CF"
isis:~ # hidden="ls -a"
isis:~ # alias
alias +='pushd .'
alias -='popd'
alias ..='cd ..'
alias ...='cd ../..'
alias beep='echo -en "\007"'
alias cd..='cd ..'
alias dir='ls -CF'
alias l='ls -alF'
alias la='ls -la'
alias ll='ls -l'
alias ls='ls $LS_OPTIONS'
alias ls-l='ls -l'
alias md='mkdir -p'
alias o='less'
alias rd='rmdir'
alias rehash='hash -r'
alias unmount='echo "Error: Try the command: umount" 1>&2; false'
alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi'
history
É o historico dos ultimos comandos digitados. Estes são armazenados no arquivo $HOME/.sh-history ou $HOME/.bash_history. Para visualizar os ultimos comandos utilize o comando “history” e para repeti-los utilize o comando “r numero”.
EXEMPLO:
isis:~ # history
   19  cd contabilidade
   20  ls
   21  sll
   22  ll
   23  scp --help
   24  man scp
   25  scp -r -p * root@mozart:/contabilidade
   26  ll
   27  cd ..
   28  rm -rf contabilidade
   29  clear
   30  ls
isis:~ #
Repetir o comando do historico
no HP-UX
isis:~ #  r 20
No Linux (SuSE)
isis:~ # !1014
ls
.bash_history  .exrc  .gnupg  .kbd  .ssh  .viminfo  bin  inst-sys  mbox  vpd.properties
Limpar o historico
isis:~ # history –c
isis:~ # history
   29  history
Recuperar o historico
isis:~ # history –r
isis:~ # history 20
1013  rm -rf shiva
1014  clear
1015  ls
1016  cd deva
1017  ls
1018  clear
1019  ls
1020  cd Tuesday
1021  ls
1022  ll
1023  cd ..
1024  clear
1025  ls
1026  exit
1027  clear
1028  echo $HOME
1029  su - informix
1030  exit
1031  history
Ver somente os ultimos 10 historicos
isis:~ # history 10
1025  ls
1026  exit
1027  clear
1028  echo $HOME
1029  su - informix
1030  exit
1031  history
1032  history 20
1033  history 30
1034  history 10
isis:~ #
Comandos de edição de linha
Podemos editar os ultimos comandos armazenados pelo history e repeti-los utlizando recursos do comando de edição do “vi”. Executar “set –o vi” para ativar esta função.
Para ter acesso aos comandos teclar <ESC>.
Para retornar os comandos teclar <K>.
Para avançar comandos teclar <J>
EXEMPLO:
isis:~ # set -o vi
isis:~ #


      K
      |
H <---> L
      |
      J
r – altera
i – insere
x – deleta
a – adiciona
Shell utilizado como ferramenta
Um programa shell é  chamado de “script shell”. Um script shell pode ser criado utilizando o editor de texto “vi” ou o comando “cat”.
Um script shell pode facilitar o trabalho de operação, quando precisar:
  • fazer algo com muitos arquivos;
  • fazer a mesma tarefa repetidamente;
  • englobar vários comandos do unix para facilitar a operacação do usuario.
Exemplo:
isis:~ # cat > acha
tput clear
find / -name $1 -print
isis:~ # chmod u+x acha
isis:~ # ./acha bin
/bin
/etc/skel/bin
/lib/mkinitrd/bin
/var/adm/SuSEconfig/bin
/usr/bin
/usr/lib/qt3/bin
/usr/lib/YaST2/bin
/usr/lib/pm-utils/bin
/usr/lib/suseRegister/bin
/usr/lib/restricted/bin
/usr/x86_64-suse-linux/bin
/usr/X11R6/bin
/usr/local/bin
/usr/local/ibm/gsk7_64/bin
/usr/share/doc/packages/bind/contrib/dlz/bin
/usr/informix/bin
/usr/informix/extend/krakatoa/jre/bin
/home/amilcar/bin
/root/bin
/lib64/ast/bin
isis:~ #
Observações:
Pode-se dentro de um script shell chamar outro script shell, limitação de chamadas de novos scripts esta associada ao numero de processos por usuario.
Ja postei aqui no blog alguns exemplos mais avançados de scritps, quem tiver curiosidade, é so dar uma olhada.

Nenhum comentário:

Postar um comentário