Diatheke and rand are two seperate packages. rand just allows spits out a random number. I'm sure there are other ways to accomplish this, but rand works well for the purpose of this script.

Diatheke on the other hand is a part of the Sword project. The sword project is, in its most basic sense, a library for developing software to manipulate bible texts. However sword is used more generally to refer to all of the projects that use the library. Diatheke uses libsword and when you install it it also installs bibletime which is a graphical frontend to sword. From bibletime you can download and install many other modules.

The modules comprise all sorts of works. There are currently dozens of bibles in many languages, books of devotionals, commentaries on the bible, dictionaries, lexicons, concordances, and also many non-biblical works.

As far as for Sherlock Holmes, you would have to search and see if there are any sword modules available, or possibly create your own. There are instructions for doing so on the web.

And yes, for bible verses you can insert any verse in the verse.list file. You can also call the script with a verse as an argument, such as:

verse.sh john 3:16

And to see what changes the script makes, just compare that output to the output of:

diatheke -b NETfree -k john 3:16

You will of course need to install the NETfree module first. I suppose I should have put those instructions in the original post. But anyways:

Install diatheke and rand

sudo apt-get install diatheke rand

Then run bibletime. On first run the program will pop up the bookshelf manager. Click Install/Update Works, then Connect to Library. Scroll down the list to English and then check the box for NETfree. Then click Install Works.