# create or check checksums for all files in current directory. # usage: checksum # actions: "new", "check". checksum() { local action="$1" # what to do with checksum. local file="checksum.sha1" # file name to store checksums. if [[ "$action" =~ ^(n|new)$ ]]; then # create checksums for all files. find -type f | parallel sha1sum {} >> "$file" # remove checksum file from resulting hashes. sed -i "/$file/d" "$file" return 0 fi if [[ "$action" =~ ^(c|check)$ ]]; then # check checsums for all files. sha1sum --quiet -c ./checksum.sha1 return 0 fi # error on wrong action. echo "supported actions: new (n), check (c)." return 2 } # autocomplete. _checksum() { _autocomplete_first "{new,check}" } complete -F _checksum checksum