#!/bin/sh md5sum $0
$ cat >a.py #! /bin/python import hashlib s='#! /bin/python\nimport hashlib\ns=%r\nprint hashlib.sha512(s%%s).hexdigest()\n' print hashlib.sha512(s%s).hexdigest() $ python a.py cf1daf466a7a95b245eab685b808fb861dab9af26078250a8041c4c08a8ff384 (edit: wrap) 7f7d1853f9d62d6b40cc53d0c5be3efd80eb09f57b71250910c0d6157b73fcd3 $ sha512sum a.py cf1daf466a7a95b245eab685b808fb861dab9af26078250a8041c4c08a8ff384 (edit: wrap) 7f7d1853f9d62d6b40cc53d0c5be3efd80eb09f57b71250910c0d6157b73fcd3 a.py
In this case the hash doesn’t depend on the data at all. Do you see how that helps?
#!/bin/sh HASH=6ce1c11751e405291eac368af96de90f # Increment until hash of this file equals $HASH: 1 echo $HASH