Archive

Posts Tagged ‘shell scripting’

The famous spinning cursor in bash

July 26th, 2011 No comments

Displaying some sort of activity, the hangover from working continuosly on slow desktops are already deep into developers. Well we cannot complain, the users who are our clients or the clients of our clients always want everything very fast. And if we dont tell them about a process being running in the background, they are sure to kick the button again, and again and again. Hence the need to show activity progress, or even a small activity to remind that the system is busy processing some junk, the progress or throbbers cannot be avoided. A similar progress with message for a long running non interactive bash script was needed for me, since we were depending a lot on build kits written in bash.

The ESC sequence is to hide and display the bash cursor. Since the whole script is self running, and do not need any feedback, the cursor is better not displayed. The function at line 7, showProgress will output a message, and show the spinning cursor with full cycle in a second. stopProgess will make sure the progress display is stopped by removing the file touched by it. Only limitiation is that this can be used only in scripts that will run single instance at a time, even on a multi user system.

I prefer writing really temporary files to /dev/shm/ since that reduces harddisk wear and tear, and is real fast being on ram. While digging for something else at my home, accidentally I completed this bit of snippet. Well thought to share the same. Poor at explaining things so please excuse.
Spinning cursor in bash - Example (1521)

Lighttpd – Separate log files for each vhost

November 10th, 2009 1 comment

I could not resist digging into my administrative and shell experience when I saw that somebody wrote a php script to dynamically split lighttpd logs. Hmm I use php for more complicated stuff.

I achieved this by putting the following into lighttpd.conf

accesslog.filename          = "|/usr/bin/splitlog.sh"

Read more…