UPDATE December, 2014:WordBash has been updated (much improved) and is now Free Software. See the above page to download.

UPDATE May, 2015: I recently came across blashblog which is a blogging program written in BASH. Although I briefly looked at it I have not used it -- it's a script for creating a Website. Worth taking a look.

As can be seen I have not been updating this site. It is not due to lack of interest—this was a really fun project. Finally becoming fluent in Bash was satisfying.

And I have proven my point: Blog Code written entirely in Bash really is viable.

Ever search for a phrase similar to "how to do X in bash"? only to find the "solution" to be actually SED or AWK or some coreutils program? Happens 98% of the time.

The goal of WordBash was to code something indistinguishable from WordPress but 100% Bash only CGI. And early on I decided to do it from scratch, creating all my own code. (This is why my coding style is unique.) Because when first I did look at some existing Bash CGI code, like bashlib-0.4, they all used not Bash itself but programs like GREP, SED, TR and PRINTF for basic processing of data such as QUERY_STRING. Which I did not want to do.

"Could a solution be found with just Bash?" I asked myself. The answer is, "Yes." And that is what I have done.

I have suspended development—for now. I have some new ideas churning in my head that I want to try; there are improvements I want to implement; and I need to release the Admin code. I will do these things. Just not too soon.

The previous post, Sequence Expression, was a lead in to this function to convert a string to uppercase (for Bash pre-4.0).

bash code

strtoupper(){

local i j n s a b c

a=({a..z})

b=({A..Z})

n=${#1}

s=

for((i=0; i<$n; i++ )); do

c=${1:i:1}

for((j=0; j<26; j++ )); do

if[[$c == ${a[j]}]]; then

c=${b[j]}

break

fi

done

s+=$c

done

echo"$s"

}

Yuck, all those locals... but, what else can you do? Really, post a comment if there's a more efficient way. Can't get around comparing each character with each letter of the alphabet though; at least the break helps a bit (or, a byte, ahem...).

Recent breakthoughs in multi-processing computer technology and software design methodologies have enabled todays Web Apps to do more than ever before.

Utilising the most advanced in cutting edge technologies, this is an introduction to a new Advanced and Powerful Web Blogging Application!

With over three years experience in the software industry behind me, I introduce a new software implementation backbone framework utilizing Design Patterns with Continual Integration through Design Modeling and have produced a new Syntagmatic Personal Publishing Platform:

Object Oriented

Standards Based

Abstract Data Types

Command & Control

HTML Web Templates

Hierarchical Document Database

Written in Bash Shell Script

WordBash is written in Bash, the GNU Bourne-Again SHell. All content of this website is generated by a shell script. All comments submitted are parsed, stored and displayed by Bash.