Operar na saída do comando no tcsh

4

Eu acho que o operador correto para executar o comando subshell no tcsh é o backtick ' , mas quando tento fazer um diff nos resultados de dois comandos, recebo um erro. Quando eu direciono as informações para os arquivos primeiro e faço um diff nos dois arquivos, eu obtenho exatamente o que eu quero, mas eu prefiro apenas usar um único comando como:

diff 'jar -tvf org.jar' 'jar -tvf new.jar'

Qual é a sintaxe correta no tcsh?

    
por Andrew Stern 23.12.2010 / 21:42

1 resposta

4

Você tem a sintaxe correta para uma substituição de comando. Mas o que você precisa passar para diff são dois arquivos nomes , não dois arquivos conteúdos , que é o que você está tentando passar. (Na verdade, o que você está passando é mais complicado, mas se você tivesse escrito diff "'jar -tvf org.jar'" "'jar -tvf new.jar'" , estaria passando dois conteúdos de arquivo.)

Eu não acho que o tcsh tenha uma maneira de fazer o que você está tentando fazer, sem criar um arquivo temporário. Em ksh, bash ou zsh, você pode fazer assim:

diff <(jar -tvf org.jar) <(jar -tvf new.jar)
    
por 23.12.2010 / 22:17

Tags