terça-feira, 16 de março de 2010

Shell – Parte 2

Metacaracteres (Caracteres Especiais)
<
Redirecionamento da STDIN
<<
Inclusao de dados
>
Redirecionamento da STDOUT (Criação)
>>
Redirecionamento da STDOUT (Criação, inclusão)
;
Processamento sequencial de comandos
|
Processamento paralelo de comandos em conexão (PIPE)
&
Processamento paralelo de comandos em retaguarda
<&
Fecha a entrada padrão
>&
Processamento paralelo de comandos em retaguarda
&&
Conector logico “e”
||
Conector logico “ou”
;;
Delimitador do comando “case”
( )
Agrupamento de comandos (Função)
.
Qualquer serie de caractere
?
Qualquer caractere simples
[ ]
Qualquer caractere dentro dos colchetes
-
Indica o intervalo (limite) dos caracteres
\
Faz com que os metacaracteres percam sua função
$
Representa variavel
#
Comentario em Shell Script

ENTRADA E SAIDA PADRAO
No Unix, o padrão é que a entrada de um comando seja feita via teclado e que a saida, o resultado do comando ou a mensagem de erro, seja apresentada na tela. Portanto, para o Unix a entrada padrão (STDIN – Standard input) é o teclado, e a saida padrão (STDOUT –Standard output) e a saida de erro (STDERR – Standard error) é o video.
std Tanto a entrada padrão quanto a saida padrão e a saida de erro podem ser facilmente redirecionadas para um arquivo. O redirecionamento é obtido atraves dos metacaracteres “<” e ”>”
< arquivo – redireciona a entrada padrão para o arquivo especificado
> arquivo – redireciona a saida padrão para o arquivo especificado
2> arquivo – redireciona a saida de erro padrão para o arquivo especificado.
Exemplo:
ls –l > listagem.txt
Nesse exemplo, a saida do comando ls, sera gravada no arquivo listagem.txt ao inves de ser apresentada na tela.
CANALIZAÇÃO (PIPE) E FILTROS
Um pipe permite que se conecte dois comandos, de forma que a saida de um seja a entrada do outro. O estabelecimento de um pipe é dado atraves do caractere “|”, colocado entre os dois comandos.
Quando se estabelece um pipe entre 2 comandos, a saida padrão do primeiro é conectada diretamente a entrada padrão do segundo.
Um pipe é diferente de um redirecionamento. O redirecionamento de entrada faz com que um arquivo contenha a entrada para um comando e o redirecionamento de saida grava a saida de um comando em um arquivo. O pipe conecta diretamente a saida do primeiro comando a entrada do segundo comando.
Exemplo:
ls –l | mail usuario1
neste exemplo, a saida do comando ls sera a entrada para o comando mail.
Um filtro é um programa que aceita a entrada de um fonte, executa o processamento necessario e grava o resultado em um outro lugar sem alterar o arquivo de entrada. Um exemplo de filtro seria o comando sort que sera visto mais a frente. O comando sort classifica um arquivo de entrada e exibe a saida classificada na tela ou grava-a em um arquivo de saida. O arquivo de entrada (fonte) não é de forma alguma alterado.
VARIAVEIS SHELL
As variaveis configuram o ambiente shell. Elas são conhecidas como variaveis de trabalho. Estas variaveis podem ser divididas em dois grupos:
  • variaveis pré-definidas do sistema
  • variaveis definidas pelo usuario
PRINCIPAIS VARIAVEIS PRE-DEFINIDAS DO SISTEMA
HOME -  diretorio de login
PATH – lista de diretorios para pesquisa de comandos. Os diretorios são pesquisados da esquerda para a direita ate que o comando seja encontrado.
MAIL – caixa postal do correio eletronico
LOGNAME – nome de usuario
PS1 – prompt principal
PS2 – prompt secundario
TERM – tipo de terminal
SHELL – tipo de shell
TZ – define zona do mundo e horario
IFS – define quais são os caracteres utilizados para separação interna de campos (espaço, tabulação e retorno de carro).
PWD – Path de diretorio corrente
VARIAVEIS DEFINIDAS PELO USUARIO
O shell permite que o usuario crie suas proprias variaveis. Elas são criadas através de atribuição, como mostram os exemplos abaixo:
a=0
b=”unix”
VAR01=10
VAR02=”programa”
Observação: Os nomes de variaveis podem conter caracteres alfabeticos ou numericos, mas nunca podem começar por caracteres numericos.

Nenhum comentário:

Postar um comentário