shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

exemplos para ajudar a turma a dominar o SHELL


From: Ivan lopes
Subject: exemplos para ajudar a turma a dominar o SHELL
Date: Wed, 21 Jun 2006 02:55:39 -0200

$ ./cmd -d                     # gerando erro no comando `cmd'.
./cmd.sh: illegal option -- d
Unknown option!

$ ./cmd -d 2> file.err.txt     # direciono FD 2 do comando para o arquivo
                                          # `file.err.txt'.

$ ./cat file.err.txt
./cmd.sh: illegal option -- d
Unknown option!

$ ./cmd -d 2>&1                   # FD 2 recebe as caracteristicas de
1.  logo o
./cmd.sh: illegal option -- d   # erro vai para a tela como se fosse o STDOUT.
Unknown option!


$ ./cmd.sh -a -d
-a processed.
./cmd.sh: illegal option -- d
Unknown option!

$ ./cmd.sh -a -d 2>&1 2> out.txt
-a processed.

$ ./cmd.sh -a -d 2>&1 1> out.txt
./cmd.sh: illegal option -- d
Unknown option!





===============================<8=========================================

#!/bin/bash

# 0 - stdin
# 1 - stdout
# 2 - stderr

exec 0< music.txt

cat -n

exit 0

===============================<8=========================================

#!/bin/bash

# 0 - stdin
# 1 - stdout
# 2 - stderr

exec 7< music.txt

cat -n <&7

exec 7<&-

exit 0

===============================<8=========================================

#!/bin/bash

# 0 - stdin
# 1 - stdout
# 2 - stderr


exec 3< arquivo.txt # Criando FD 3, e alterando o nome do nodo para
                               # o nome do arquivo `/caminho/arquivo.txt'.

exec 7<&3           # Criando FD 7, e duplicando FD 3, ou seja, FD 3
                            # possui as mesmas caracteristicas de FD 3.

cat -n <&7          # FD 7 direcionado para o comando.

exec 7<&-           # FD 7 liberado.
exec 3<&-           # FD 3 liberado.
#exec 7<&- 3<&-
exit 0

===============================<8=========================================

#!/bin/bash

# 0 - stdin
# 1 - stdout
# 2 - stderr

echo

exec 4< arquivo1.txt # Criando FD 4, e alterando o nome do nodo para
                                 # o nome do arquivo `/caminho/arquivo1.txt'.

cat -n <&4           # Direcionando arquivo definido em FD 4 como fluxo
                            # para o comando.


exec 5< arquivo2.txt # Criando FD 5, e alterando o nome do nodo para
                                 # o nome do arquivo `/caminho/arquivo2.txt'.

cat -n <&5           # Direcionando arquivo definido em FD 5 como fluxo
                            # para o comando.


exec 6< arquivo3.txt
cat -n <&6


exec 4<&- 5<&- 6<&-  # Fechando FD 4, 5 e 6.
exit 0

===============================<8=========================================

#!/bin/bash

# 0 - stdin
# 1 - stdout
# 2 - stderr

exec 4< a.txt
exec 5< b.txt
exec 6< c.txt

cat -n <&6
cat -n <&5
cat -n <&4

exec 4<&- 5<&- 6<&-
exit 0

===============================<8=========================================

#!/bin/bash

# 0 - stdin
# 1 - stdout
# 2 - stderr

exec 4< a.txt
exec 5< b.txt
exec 6< c.txt

cat -n <&6
cat -n <&5
cat -n <&4

exec 4<&- 5<&- 6<&-
exit 0

===============================<8=========================================

#!/bin/bash

# 0 - stdin
# 1 - stdout
# 2 - stderr

exec 4< a.txt
exec 5< b.txt
exec 6< c.txt

exec 0< arquivo.txt
exec 1> out.txt

# exec < arquivo.txt
# exec > out.txt

cat - | tr [a-z] [A-Z]  # cat arquivo.txt | tr [a-z] [A-Z] > out.txt
cat -n <&6               # cat -n c.txt > out.txt
cat -n <&5               # cat -n b.txt > out.txt
cat -n <&4               # cat -n a.txt > out.txt

exec 4<&- 5<&- 6<&-
exit 0

===============================<8=========================================

#!/bin/bash

# 0 - stdin
# 1 - stdout
# 2 - stderr

exec 4>&1             # stdout duplicado ( FD 4 tem as mesmas caracteristicas
                              # do STDOUT), aponta para o terminal.

exec 1>out.txt        # stdout aponta para `out.txt'


echo Estou escrevendo no arquivo.                    # echo "TEXTO" > out.txt
echo Estou escrevendo no terminal. >&4          # echo "TEXTO"
echo Estou escrevendo no arquivo novamente. # echo "TEXTO" > out.txt

exec 1>&4             # FD 1 recebe as caracteristicas de FD 4.
                              # FD 1 ressetado.

exec 4>&-             # FD 4 eh liberado.

exit 0


--
[ ]'s
Ivan Carlos Da Silva Lopes

Engenheiro Eletronico e Computacao
UFRJ


reply via email to

[Prev in Thread] Current Thread [Next in Thread]