2010-04-24 142 views
3
#!/bin/bash 
if [ ! $1 ] 
then 
echo "no param" 
else 
    export FAV_COLOR=$1 
    echo "My fav color is ${FAV_COLOR}" 
fi 

这不是工作我没有料到:如何在UNIX中将参数的值分配给变量?

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

有什么想法?

+0

你已经要求bash和使用'set'这是一个csh语法... – dmckee 2010-04-24 17:39:18

+0

@dmckee应该出口吗? – qodeninja 2014-10-15 07:01:15

回答

8

删除set

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

或者,如果你想设置它,以便它可以在shell中运行后续节目:

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

export关键字描述得相当好here

+0

无论如何,对于影响当前shell的所有后代进程的“全局”值的均值。 – dmckee 2010-04-24 17:38:16

+0

@dmckee,谢谢澄清。 – Stephen 2010-04-24 17:42:23