Ocultar textos

1. Ocultar textos

Darcy
skorpyon

(usa Slackware)

Enviado em 17/10/2005 - 02:01h

Não sabia nem o que colocava no campo assunto dessa mensagem. huasuhsauhsahuas

Bom, é o seguinte,

gostaria se saber como fazer para ocultar o textos exibidos por alguns programas usados em shell script.

por ex:
ao compactar ou descompactar algo com o tar nao ser exibido o que esta sendo compactado/descompactado.

Queria saber como ocultar isso.



  


2. Re: Ocultar textos

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/10/2005 - 02:09h

Bom, no caso específico do tar, é só você não usar a opção -v, como em

tar -jxf arquivo.tar.bz2
tar -jcf arquivo.tar.bz2 diretorio/

No geral, você pode redirecionar a saída padrão do programa para /dev/null:

comando_que_imprime_texto_na_tela > /dev/null

[]s
Fabio de Almeida Aquotte


3. Re: Ocultar textos

Darcy
skorpyon

(usa Slackware)

Enviado em 17/10/2005 - 02:43h

com o tar tinha esquecido de tira o v.
foi burrice minha.

tava procurando algum comando que gere uns textos para mim testar aqui.

usei para textes o unzip
com o unzip

unzip file.zip > /dev/null
ele nao oculta todo o texto exibido =/
ele oculta a primeira saida de texto que é o nome dos arquivos descompactados. mas ele mostra um erro (do unzip msm) que nao pode setar uns atributos aos arquivos.

se eu lembrar de algum outro comando que gere esses textos, vou testar depois.



4. Redirecionar erros

N
o_lalertom

(usa Slackware)

Enviado em 17/10/2005 - 08:26h

Para redirecionar a saída de erro usa-se o redirecionador "2>" ou "2>>", mais existe outras formas de redirecionamento de saída padrão. Vai uma tabela logo abaixo mostrando os redirecionadores de saída do shell. (texto retirado do site http://aurelio.net/shell/canivete.html)


< Redireciona a entrada padrão (STDIN)
> Redireciona a saída padrão (STDOUT)
2> Redireciona a saída de erro (STDERR)
>> Redireciona a saída padrão, anexando
2>> Redireciona a saída de erro, anexando
| Conecta a saída padrão com a entrada padrão de outro comando
2>&1 Conecta a saída de erro na saída padrão
>&2 Conecta a saída padrão na saída de erro
>&- Fecha a saída padrão
2>&- Fecha a saída de erro
3<>arq Conecta o descritor de arquivos 3 ao arquivo 'arq'
<<FIM Alimenta a entrada padrão (Here Document)
<<-FIM Alimenta a entrada padrão, cortando TABs
<(cmd) A saída do comando 'cmd' é um arquivo: diff <(cmd1) <(cmd2)
>(cmd) A entrada do comando 'cmd' é um arquivo: tar cf >(bzip2 -c >file.tbz) $dir

Para redirecionar todas as saídas para o arquivo "/dev/null" eu utilizo essas combinações:

$ unzip file.zip 2>&1&> /dev/null # Isso ira concatenar todas as saídas tanto padrão quanto de erros e enviar para o arquivo "/dev/null"

Nycholas de Oliveira e Oliveira - o_lalertom


5. Re: Ocultar textos

Darcy
skorpyon

(usa Slackware)

Enviado em 18/10/2005 - 04:09h

Muito bom isso =)

Vlw!


6. Re: Ocultar textos

Tiago Barcellos Peczenyj
pacman

(usa Ubuntu)

Enviado em 25/10/2005 - 00:03h


para u unzip vc pode fazer :

unzip -q arquivo.zip 2>/dev/null
ou
unzip -q arquivo.zip 2>&-

o -q é de quiet mode

agora o tar é só não colocar a opção -v que não irá entrar no modo verbose, não mostra nada na tela. o gzip/gunzip é silencioso por si só.

até o grep tem uma opção -q, muito util para fazer ifs

grep -q "alguma coisa" arquivo.txt && echo "tem alguma coisa" || echo "nao tem alguma coisa"


7. Re: Ocultar textos

Darcy
skorpyon

(usa Slackware)

Enviado em 09/04/2006 - 14:42h

Pessoal, como faço para redirecionar toda saida de texto para um arquivo ?

Exemplo:
Tenho um script de backup.
Tem varios comandos nele.
E quero que toda a saida de texto seja redirecionada para um arquivo de log do backup.

Tenho que colocar os comandos de redirecionamento após cada comando ou tem como eu definir alguma coisa logo no comeco do script que vai mandar tudo para o arquivo de log ?



8. Re: Ocultar textos

Tiago Barcellos Peczenyj
pacman

(usa Ubuntu)

Enviado em 09/04/2006 - 21:55h

Ou vc informa na execução do script
./script_de_backup.sh > stdout.txt 2> stderr.txt

ou pode informar dentro do script
#!/bin/bash
exec 1<>stdout.txt
exec 2<>stderr.txt

A instrução X<>arq
Conecta o descritor de arquivos X ao arquivo 'arq'

No caso, 1 é a saida padrão e 2 é a saida de erro.