Intento verificar el último Firefox y quiero obtener todos los hashes en un archivo TXT.
Lo que intento hacer es:
sha1sum firefox.tar.gz > sha.txt
y lo intento también:
md5sum firefox.tar.gz > sha.txt | sha1sum firefox.tar.gz > sha.txt | sha512sum firefox.tar.gz > sha.txt
pero solo el último en este caso el sha512 se imprime en sha.txt.
¿Qué estoy haciendo mal? Por favor, ¿alguien puede ayudarme con esto?
command-line
bash
XBMCuser
fuente
fuente
{}
o()
? Gracias.()
.Debe utilizar el redireccionador append en
>>
lugar de>
los comandos posteriores, por ejemploConsulte la
Appending Redirected Output
sección de la página de manual de bash (man bash
).fuente
El
>
redirector escribe la salida del comando (stdout
nostderr
, usted usa2>
para eso) en el archivo especificado después. Si ya existe, el archivo se sobrescribirá.Este comportamiento es útil para el primero de sus comandos: si hay un archivo existente, debe eliminarse y reemplazarse por el nuevo.
Sin embargo, como necesita agregar todas las salidas adicionales en lugar de reemplazar las anteriores, debe usar el redireccionador de agregación
>>
. Esto creará un archivo si aún no existe, pero agrega la salida redirigida al archivo, si ya existe.Y no utilice la tubería
|
para escribir varios comandos en una línea, lo que redirigiría la salida del primer comando (stdout
) a la entrada del segundo comando (stdin
).Puede usar el punto y coma (
;
) para decirle a bash que ejecute un comando después del otro, como si fuera un archivo de script. Si un comando falla (el código de retorno no es 0), los comandos restantes aún se ejecutan.O puede elegir los operadores lógicos AND (
&&
) u OR (||
):si usa
&&
para conectar dos comandos, el segundo solo se ejecutará, si el primero tiene éxito (el código de retorno es 0). Si falla, ninguno de los siguientes comandos se ejecutará.¡Sin
||
embargo, solo ejecuta el segundo comando si falla el primero (el código de retorno no es 0)!Entonces, en su caso, le recomendaría que use el punto y coma:
fuente