Search code examples
shellvariablesparameters

How do you assign the value of a parameter to a variable in UNIX?


#!/bin/bash
if [ ! $1 ]
then
 echo "no param"
else
    set FAV_COLOR=$1
    echo "My fav color is ${FAV_COLOR}"
fi

This is not working how I expected:

>favcol.sh blue
My fav color is FAV_COLOR=blue

Any thoughts?


Solution

  • Remove set.

    FAV_COLOR=$1
    echo "My fav color is ${FAV_COLOR}"
    

    Or if you want to set it so that it is available to subsequent programs run in the shell:

    export FAV_COLOR=$1
    echo "My fav color is ${FAV_COLOR}"
    

    The export keyword is described fairly well here.