J'aimerais écrire un script Bash pour générer le hash sha256sum d'un fichier, et sauvegarder sa sortie avec le hash et seulement filename.extension
à l'exclusion du chemin.
Je n'obtiens pas le résultat souhaité avec les deux scripts suivants que j'ai essayés jusqu'à présent :
Note : Il y aura un nouveau fichier avec un nouveau nom à chaque fois que le script sera exécuté, c'est pourquoi j'utilise *.iso
dans le script.
(1)
#!/bin/bash
cd /home/admn/Downloads
find -maxdepth 1 -type f -name "*.iso" -exec bash -c "sha256sum '{}' > '{}'.sha256" \;
exit;
Cela crée un fichier Test.iso.sha256
mais avec une sortie : e64d11052abf5c3e19f0cd60e0b9c6196d8cb8615eba415ef1a3ac746f4b0c29 ./Test.iso
Alors que je veux juste Test.iso
sans ./
(2)
#!/bin/bash
cd /home/admn/Downloads
fullfilename="/home/admn/Downloads/*.iso"
filename=$(basename "$fullfilename")
sha256sum $filename > "$filename".sha256
exit;
Cela génère le résultat que je souhaite : e64d11052abf5c3e19f0cd60e0b9c6196d8cb8615eba415ef1a3ac746f4b0c29 Test.iso
mais les fichiers qu'il crée ont *
à la place du nom : *.iso.sha256
. Merci.
OS : Ubuntu MATE 21.10
Bash : Version 5.1.8(1)-release (x86_64-pc-linux-gnu)