The bash shell is just amazing. There are so many tasks that can be simplified using its handy features. This tutorial tells about some of those features, explains what exactly they do and learns you how to use them.
sandip's story links
The best tips & tricks for bash, explained
Submitted by sandip on Mon, 06/21/2010 - 11:19Small getopts tutorial
Submitted by sandip on Thu, 06/17/2010 - 22:51When you want to parse commandline arguments in a professional way, getopts is the tool of choice. Unlike its older brother getopt (note the missing s!), it's a shell builtin command. The advantage is
* you don't need to hand your positional parameters through to an external program
* getopts can easily set shell variables you can use for parsing (impossible for an external process!)
* you don't have to argue with several getopt implementations which had buggy concepts in the past (whitespaces, ...)
* getopts is defined in POSIX®
Seven habits of effective text editing
Submitted by sandip on Tue, 06/08/2010 - 12:01If you spend a lot of time typing plain text, writing programs or HTML, you can save much of that time by using a good editor and using it effectively. This paper will present guidelines and hints for doing your work more quickly and with fewer mistakes...
Bash Tests
Submitted by sandip on Mon, 05/10/2010 - 00:46The test application, also known as [, is an application that usually resides somewhere in /usr/bin or /bin and is used a lot by shell programmers to perform certain tests on variables. In a number of shells, including bash, [ is implemented as a shell builtin.
Difference between test, "[" and "[[":
http://mywiki.wooledge.org/BashFAQ/031
Drupal, Pressflow and Varnish Caching
Submitted by sandip on Mon, 04/26/2010 - 23:41Lots of useful varnish and caching tips...
munin-varnish plugin
Submitted by sandip on Thu, 04/08/2010 - 23:18Varnish http proxy cache plugins for munin.
OpenSSL update breaks Parallels Plesk Panel
Submitted by sandip on Tue, 04/06/2010 - 22:46Latest update of the openssl package from CentOS breaks Parallels Panel 9.x. The following errors are displayed in the /var/log/sw-cp-server/error_log file when Panel is trying to start:
2010-03-29 11:21:22: (log.c.75) server started
2010-03-29 11:21:22: (network.c.336) SSL: error:00000000:lib(0):func(0):reason(0)
...
Resolution: It is necessary to update Parallels Panel web-engine.
network programming in bash
Submitted by sandip on Wed, 03/17/2010 - 14:32Discusses the possibilities of using Bash for socket programming using /dev/tcp with file descriptors redirection.
Advance Linux Programming
Submitted by sandip on Wed, 03/03/2010 - 16:37Advanced Linux Programming is published under the Open Publication License, Version 1, no options exercised.
If you're a developer already experienced with programming for the GNU/Linux system, are experienced with another UNIX-like system and are interested in developing GNU/Linux software, or want to make the transition for a non-UNIX environment and are already familiar with the general principles of writing good software, this book is for you...
Permanent SSH Tunnel Between Linux Servers
Submitted by sandip on Sat, 01/16/2010 - 22:36I recently had a need to create a permanent SSH tunnel between Linux servers. My need was to allow regular non-encrypted MySQL connections over an encrypted tunnel, but there could be many other uses as well. Google can identify plenty of resources regarding the fundamental SSH commands for port forwarding but I didn’t ever find a good resource for setting up a connection and ensuring that it remains active, which is what I hope to provide here...