I have a shell script that will let me access global variables inside the script, but when I try to create my own, it responds with: command not found.
#!/bin/bash J = 4 FACE_NAME = "eig$J.face" USER_DB_NAME = "base$J.user"
When I run the above script I get:
./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
Any ideas?? I'm using Cygwin under Windows XP.
Try this (notice I have removed the spaces from either side of the =
):
#!/bin/bash J="4" FACE_NAME="eig$J.face" USER_DB_NAME="base$J.user"
Bash doesn't like spaces when you declare variables - also it is best to make every value quoted (but this isn't as essential).
It's a good idea to use braces to separate the variable name when you are embedding a variable in other text:
#!/bin/bash J=4 FACE_NAME="eig${J}.face" USER_DB_NAME="base${J}.user"
The dot does the job here for you but if there was some other character there, it might be interpreted as part of the variable name.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With