Подтвердить что ты не робот

Назначение переменной 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.

4b9b3361

Ответ 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"