J'essaie de vérifier la dernière version de Firefox et je veux obtenir tous les hachages dans un fichier TXT.
Ce que j'essaie de faire, c'est:
sha1sum firefox.tar.gz > sha.txt
et j'essaye aussi:
md5sum firefox.tar.gz > sha.txt | sha1sum firefox.tar.gz > sha.txt | sha512sum firefox.tar.gz > sha.txt
mais seulement le dernier dans ce cas, le sha512 est imprimé dans le sha.txt.
Qu'est-ce que je fais mal? S'il vous plaît, quelqu'un peut-il m'aider?
command-line
bash
XBMCuser
la source
la source
{}
ou()
? Merci.()
.Vous devez utiliser le redirecteur append
>>
au lieu de>
pour les commandes suivantes, par exempleVoir la
Appending Redirected Output
section de la page de manuel bash (man bash
).la source
Le
>
redirecteur écrit la sortie de la commande (stdout
, passtderr
- vous utilisez2>
pour cela) dans le fichier spécifié après. S'il existe déjà, le fichier sera écrasé.Ce comportement est utile pour la première de vos commandes: s'il existe un fichier existant, il doit être supprimé et remplacé par le nouveau.
Cependant, comme vous devez ajouter toutes les autres sorties au lieu de remplacer les précédentes, vous devez utiliser le redirecteur-append
>>
. Cela créera un fichier s'il n'existe pas encore, mais ajoute la sortie redirigée au fichier, s'il existe déjà.Et veuillez ne pas utiliser le canal
|
pour écrire plusieurs commandes sur une seule ligne, ce qui redirigerait la sortie de la première commande (stdout
) vers l'entrée de la deuxième commande (stdin
).Vous pouvez utiliser le point-virgule (
;
) pour simplement dire à bash d'exécuter une commande après l'autre, comme s'il s'agissait d'un fichier de script. Si une commande échoue (le code retour n'est pas 0), les commandes restantes sont toujours exécutées.Ou vous pouvez choisir les opérateurs logiques AND (
&&
) ou OR (||
):Si vous utilisez
&&
pour connecter deux commandes, la seconde ne sera exécutée que si la première réussit (le code retour est 0). S'il échoue, aucune des commandes suivantes ne s'exécutera.Le
||
cependant n'exécute la seconde commande si le premier n'a pas (code retour est 0)!Donc, dans votre cas, je vous recommande d'utiliser le point-virgule:
la source