CJ.*_*CJ. 49 variables bash shell cygwin
我有一个shell脚本,可以让我访问脚本中的全局变量,但是当我尝试创建自己的变量时,它会响应:找不到命令.
#!/bin/bash
J = 4
FACE_NAME = "eig$J.face"
USER_DB_NAME = "base$J.user"
Run Code Online (Sandbox Code Playgroud)
当我运行上面的脚本时,我得到:
./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
Run Code Online (Sandbox Code Playgroud)
有任何想法吗??我在Windows XP下使用Cygwin.
And*_*are 116
试试这个(注意我已经删除了两侧的空格=
):
#!/bin/bash
J="4"
FACE_NAME="eig$J.face"
USER_DB_NAME="base$J.user"
Run Code Online (Sandbox Code Playgroud)
当你声明变量时,Bash不喜欢空格 - 最好是引用每个值(但这不是必需的).
Pau*_*ce. 11
在其他文本中嵌入变量时,使用大括号分隔变量名称是个好主意:
#!/bin/bash
J=4
FACE_NAME="eig${J}.face"
USER_DB_NAME="base${J}.user"
Run Code Online (Sandbox Code Playgroud)
点在这里为你完成工作,但如果那里有其他一些字符,它可能被解释为变量名称的一部分.
不要在"="之间留空格
J=4
FACE_NAME="eig${J}.face"
USER_DB_NAME="base${J}.user"
Run Code Online (Sandbox Code Playgroud)