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 echo
es 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: