Many faces of bash

 | Bash | 0 Comments

Why would any system administrator worth his/her weight in salt prefer to use something like this:

 if [ "$X" -eq "$Y" ]; then echo 'X equals Y'; fi

when you could just as easily use the following simpler and more logical form?

if ((X==Y)); then echo 'X equals Y'; fi

Forget about always using those quotes, drop the dollar signs, and stop making sure that there is white space between the right and left brackets. Even better would be:

((X==Y)) && echo 'X equals Y'

For those lazy typists among us (like me) who like to impress others, and disdain the risks of confusing the bash newbies with a slightly more cryptic yet elegant style.

So why retain the single quotes in the last statement, you may ask? Well, I've learned that by making it a habit always to enclose echo stuff between single or double quotes will save you lots of headaches due to trouble-shooting the obvious.

By the way, the difference between "double" and 'single' quotes is that variables between double quotes will be expanded while those between single quotes will not.

$ X=10
$ echo '$X equals 10'
$X equals 10
$ echo "$X equals 10"
10 equals 10

((So be "very very" careful, and 'do things' right))

Leave a comment

Recent Entries

No more winter greens
The cool, windy and grayish afternoon calls me onward. It's drizzling on my windshield but I do not care.
Champion of Scotland
I nearly cried my eyes out when I discovered that young Tommy Morris dies in the prime of his
Sticky keyboard
Up until yesterday the Del-, Ins- and Home- keys on the upper right-hand corner were sticking alot, and it's
Perl on steroids
Read this from beginning to end, and you then tell me with a straight face that it hasn't completely
Seventh Dutch Perl Workshop
Going to attend the 7th Dutch Perl Workshop tomorrow in Arnhem. Cannot wait to get up bright and early