Last updated on November 18th, 2015 at 03:49 am

Here is a simple shell script to start with,

#!/bin/sh
MY_MESSAGE="Hello World"
echo $MY_MESSAGE

This assigns the string “Hello World” to the variable MY_MESSAGE then echoes out the value of the variable.
Note that we need the quotes around the string Hello World. Whereas we could get away with echo Hello World because echo will take any number of parameters, a variable can only hold one value, so a string with spaces must be quoted to that the shell knows to treat it all as one. Otherwise, the shell will try to execute the command World after assigning MY_MESSAGE=Hello

The shell does not care about types of variables; they may store strings, integers, real numbers – anything you like.
If you assign a string to a variable then try to add a number to it, you will not get away with it:

$ x="hello"
$ y=`expr $x + 2`
expr: non-numeric argument
$

Since the external program expr only expects numbers. But there is no syntactic difference between:

Leave a Reply

Your email address will not be published. Required fields are marked *