Назначение переменной Bash и команда не найдена
У меня есть оболочка script, которая позволит мне получить доступ к глобальным переменным внутри script, но когда я пытаюсь создать свой собственный, он отвечает: команда не найдена.
#!/bin/bash
J = 4
FACE_NAME = "eig$J.face"
USER_DB_NAME = "base$J.user"
Когда я запускаю выше script, я получаю:
./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
Любые идеи? Я использую Cygwin под Windows XP.
Ответы
Ответ 1
Попробуйте это (обратите внимание, что я удалил пробелы с каждой стороны =
):
#!/bin/bash
J="4"
FACE_NAME="eig$J.face"
USER_DB_NAME="base$J.user"
Bash не любит пробелы при объявлении переменных - также лучше всего использовать каждое значение (но это не так важно).
Ответ 2
Хорошая идея использовать фигурные скобки для разделения имени переменной при встраивании переменной в другой текст:
#!/bin/bash
J=4
FACE_NAME="eig${J}.face"
USER_DB_NAME="base${J}.user"
Точка выполняет здесь задание, но если там был какой-то другой символ, он может быть интерпретирован как часть имени переменной.
Ответ 3
dont 'оставить пробелы между "="
J=4
FACE_NAME="eig${J}.face"
USER_DB_NAME="base${J}.user"