SóProvas


ID
1118503
Banca
VUNESP
Órgão
EMPLASA
Ano
2014
Provas
Disciplina
Programação
Assuntos

Analise o conteúdo do Shell Script “num.sh” apresentado a seguir

#!/bin/bash
echo -n 1 >&2
echo -n 2 >&1
echo -n 3 1>&2
echo -n 4 2>&1
echo -n 5

Se o script for executado no terminal de comando do sistema operacional Linux: “./num.sh >/dev/null”, será exibida na tela a seguinte mensagem:

Alternativas
Comentários
  • O lance é perceber que todas as linhas do script (exceto as com os números 1 e 3) estão direcionando a saída do comando ECHO para a saída padrão (stdout).

    Ao final, quando o script é executado, a saída do script (stdout) é direcionada para o limbo: "./num.sh >/dev/null". Logo, tudo que no script estava direcionando para stdout foi para /dev/null.

    Já os comandos "echo -n 1 >&2" e "echo -n 3 1>&2" foram demonstrados na tela pois, diferente dos demais, eles foram direcionados para a saída de erro (stderr)

    Para maiores detalhes de como funcionam os redirecionamentos e as saídas-padrão, acesse http://www.devin.com.br/shell-entrada-e-saida/

  • Alguem sabe explicar essa questao? nao entendi nada =S

  • echo -n 1 >&2 --> Redireciona a saída padrão STDOUT para saída de erro (STDERR) - &2

    echo -n 2 >&1 --> Redireciona PARA saída padrão STDOUT -- &1 -- mesma coisa que echo -n 2.

    echo -n 3 1>&2 --> Redireciona a saída padrão STDOUT -- 1> ou > -- para saída de erro (STDERR) - &2.

    echo -n 4 2>&1--> Redireciona a saída de erro (STDERR) -- 2> -- para saída padrão STDOUT -- &1.

    echo -n 5 --> Impresso na saída padrão STDOUT.

     “./num.sh >/dev/null” --> Redireciona os comando da saída STDOUT para o "limbo"/dev/null.

    Como a saída parão de STDERR é a tela, exibe apenas os comando com essa saída: 13

    Foi usada uma saída de erro STDERR para imprimir na tela um comando sem erros.