I guess the main benefit of the GP's method is that you won't actually need a "safe" to store your passwords. You can re-generate the same password anytime, anywhere, as long as you remember the master password and "reason."
However, a problem with this implementation is that generated passwords will be hexadecimal only. Not really much entropy per character there (4 bits vs. 6.5x bits for all ASCII printable chars). Just extend the generated password length, I guess.
Personally, I'd use HMAC-SHA-256 or HMAC-SHA-512 or something. Then derive the password from the hash using as many characters as allowed, i.e. alphanumeric or alphanumeric + symbols, etc. I guess something like that might not be easily expressible in a shell script, though. But hey, that's why we have other scripting languages. (Python comes to mind, since hashlib and hmac are part of the base system.)
But yeah, as someone else pointed out, "random" is not the right word for this.