Vejamos o seu codigo cat /etc/gentoo-release < <(tr [a-z] [A-Z])
é o mesmo que cat /etc/gentoo-release < ARQUIVO_QUALQUER que é o mesmo que cat ARQUIVO_QUALQUER | cat /etc/gentoo-release o q vc esta fazendo ai: vc esta executando o programa cat com um argumento, um nome de arquivo e informando o conteudo desse ARQUIVO_QUALQUER na entrada padrão. o cat só lê a entrada padrão em 2 casos: 1) se vc não informa nenhum arquivo como argumento 2) se vc informa um arquivo de nome - Então isso: cat ARQUIVO_QUALQUER | cat /etc/gentoo-release Equivale a isso cat /etc/gentoo-release Agora vamos ver o que é o misterioso ARQUIVO_QUALQUER Fazer <(tr [a-z] [A-Z]) é o mesmo que <(comando) e vc cria um named pipe com o resultado desse comando. ex: cat -n <(ls) é a mesma coisa que ls | cat -n porem o cat, nesse caso, é executado no shell pai e não num subshell (isso pode ser util em alguma situação!!). então, se <( ... ) gera um named pipe, que se comporta como um arquivo que só pode ser lido uma unica vez, e o conteudo é o resultado do comando, qual o resultado do comando tr [a-z] [A-Z] ? Em primeiro lugar, [A-Z] é uma mascara, isto é, se vc tiver um arquivo com uma unica letra maiscula como nome, vc não vai ter [A-Z] e sim vai ter aquela letra $ echo tr [a-z] [A-Z] tr [a-z] [A-Z] $ touch a A # crio arquivos 'a' e 'A' $ echo tr [a-z] [A-Z] tr a A A # tb não entendi pq A foi repetido aqui... JULIO HELP! então o certo eh tr '[a-z]' '[A-Z]' assim os argumentos ficam protegidos!! ok, mas o que faz esse tr?? o tr espera uma sequencia de caracteres na entrada padrão, e vai troca-los de acordo com as regras que receber! porem vc não pode usa-lo dentro de um <() simplesmente pois vc não deu NADA para o tr na entrada padrão dele. <(tr opções) da erro <(tr opções < arquivo) funciona <(cat arquivo | tr opções) tb funciona Porem o que eu quis dizer é que vc pode economizar todos esse <() e cats com um unico tr opcoes < arquivo_entrada > arquivo_saida facil né? agora fica a dica para vc usar tr '[:lower:]' '[:upper:]' é mais "profissional" ;-) pois vc usa as classes posix Boa sorte! 2008/7/23 Felipe <[EMAIL PROTECTED]>: > Bom dia, lista. > > Estou executando o seguinte comando: > > cat /etc/gentoo-release < <(tr [a-z] [A-Z]) > > E na realidade o que acontece é que: quando o executo, o terminal > simplesmente fecha. Pluft, fechou. > > Alguem saberia me dizer por qual motivo a bash teve essa reação ? > > -- Tiago B Peczenyj Linux User #405772 http://peczenyj.blogspot.com/ "what does not kill us makes us stronger"
