Category: 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))

Recent Assets

  • Keizersgracht.jpg
  • Hole-17.jpg
  • brandnetels.jpg
  • view-hotel-balcony.jpg
  • near-balestrand-sognefjord.jpg
  • roughlong.gif
  • HB3-champs.png
  • chip-shot.jpg
  • rotterdam_blitz2.jpg
  • Rotterdam_blitz.jpg
  • edgerton_golf_swing.jpg
  • webcam-rightside-up.jpg

Recent Comments

OpenID accepted here Learn more about OpenID

Information

This personal weblog was started way back on July 21, 2001 which means that it is 7-21-2001 old.

So far this blog contains no less than 1837 entries and as many as 1821 comments.

I graduated from Stanford 6-5-1979 ago.

I first met Thea 6-14-1980 ago.

Believe it or not but I am 10-11-1957 young.