shell脚本variables – 找不到命令

我有一个shell脚本,可以让我访问脚本中的全局variables,但是当我尝试创build自己的脚本时,它会响应:找不到命令。

#!/bin/bash J = 4 FACE_NAME = "eig$J.face" USER_DB_NAME = "base$J.user" 

当我运行上面的脚本时,我得到:

 ./test1.sh line 2: J: command not found ./test1.sh line 3: FACE_NAME: command not found ./test1.sh line 4: USER_DB_NAME: command not found 

有任何想法吗?? 我在Windows XP下使用Cygwin。

试试这个(注意我已经从=两边删除了空格):

 #!/bin/bash J="4" FACE_NAME="eig$J.face" USER_DB_NAME="base$J.user" 

当你声明variables的时候,Bash不喜欢空格 – 最好是引用每个值(但这不是必须的)。

将variablesembedded到其他文本中时,使用大括号来分隔variables名是个好主意:

 #!/bin/bash J=4 FACE_NAME="eig${J}.face" USER_DB_NAME="base${J}.user" 

点在这里为你做的工作,但如果有一些其他的字符在那里,它可能被解释为variables名称的一部分。

不要留下“=”之间的空格

 J=4 FACE_NAME="eig${J}.face" USER_DB_NAME="base${J}.user"