Technical perspective

Bash Shell – Error with String Manipulation – Tech Tips

A preserved technical perspective from the CognoSys engineering archive. Product names, interfaces, availability, and recommended practices may have changed since original publication.

Bugs and Bugs and that is what we live with

I was running a simple bash script and somehow the output was all wrong. I debugged the script and looked it multiple times with lot of printf but still could not find the issue..

Bug was: When assigning a variable, i was leaving a space between = and the string. Look at my series of bugs and please do not repeat my mistakes.

var= “do something” + ” and do something” # this is wrong not needed +

var= “do something””var2 shall do something” # this is wrong as var2 has to be $var2

var = “do something” # bash doesnt like u putting SPACE after = and it messes things up

var= $var2″ and some more $val3/$val4″ # to output another var use $ and no space needed

echo $var

Syntax:

VARNAME=VALUE

IMP: Bash doesnt take kindly when we put a space around”=” sign in variable assignment. I hate it and especially we who have grown out of .Net who is all too forgiving.

IMP2: When you use VAR = VALUE, the shell assumes that VAR must be the name of a command and tries to execute it.