Eu tento verificar o Firefox mais recente e quero obter todos os hashes em um arquivo TXT.
O que eu tento fazer é:
sha1sum firefox.tar.gz > sha.txt
e tento também:
md5sum firefox.tar.gz > sha.txt | sha1sum firefox.tar.gz > sha.txt | sha512sum firefox.tar.gz > sha.txt
mas apenas o último nesse caso, o sha512 é impresso no sha.txt.
O que estou fazendo errado? Por favor, alguém lá fora pode me ajudar com isso?
command-line
bash
XBMCuser
fonte
fonte
{}
ou()
? Obrigado.()
.Você precisa usar o redirecionador de acréscimo em
>>
vez dos>
comandos subseqüentes, por exemploConsulte a
Appending Redirected Output
seção da página do manual do bash (man bash
).fonte
O
>
redirecionador grava a saída do comando (stdout
nãostderr
- você usa2>
para isso) no arquivo especificado depois dele. Se já existir, o arquivo será substituído.Esse comportamento é útil para o primeiro de seus comandos: se houver um arquivo existente, ele deverá ser excluído e substituído pelo novo.
No entanto, como você precisa anexar todas as saídas adicionais em vez de substituir as anteriores, é necessário usar o redirecionador de anexação
>>
. Isso criará um arquivo se ele ainda não existir, mas anexará a saída redirecionada ao arquivo, se ele já existir.E não use o canal
|
para escrever vários comandos em uma linha, o que redirecionaria a saída do primeiro comando (stdout
) para a entrada do segundo comando (stdin
).Você pode usar o ponto-e-vírgula (
;
) para dizer ao bash para executar um comando após o outro, como se fosse um arquivo de script. Se um comando falhar (o código de retorno não é 0), os comandos restantes ainda serão executados.Ou você pode escolher os operadores lógicos AND (
&&
) ou OR (||
):Se você usar
&&
para conectar dois comandos, o segundo só será executado, se o primeiro for bem-sucedido (o código de retorno é 0). Se falhar, nenhum dos seguintes comandos será executado.O
||
entretanto única corre o segundo comando se o primeiro falhou (código de retorno não é 0)!Portanto, no seu caso, eu recomendo que você use o ponto e vírgula:
fonte