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>
Para retornar os comandos teclar <K>.
Para avançar comandos teclar <J>
EXEMPLO:
isis:~ # set -o vi
isis:~ #
isis:~ #
K
|
H <---> L
|
J
r – altera
i – insere
x – deleta
a – adiciona
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:
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:~ #
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