3

Я не мог найти способ установить переменную окружения с точкой (.).

Например:

export mule.home=/Users/chandra/mule/
export {mule.home}=/Users/chandra/mule/
export $mule.home=/Users/chandra/mule/

все выдают ошибку, указывающую, что это недопустимый идентификатор, например:

-bash: export: `.home=/Users': not a valid identifier

Настройка mule_home работает, но не mule.home . Есть идеи, предложения?

1 ответ1

8

Это потому, что имя с точкой - и вы можете поверить, что ваша оболочка здесь - не является допустимым идентификатором. От man bash:

name Слово, состоящее только из буквенно-цифровых символов и символов подчеркивания и начинающееся с буквенного символа или символа подчеркивания. Также называется идентификатором.

Точка не является буквенно-цифровым символом и не подчеркиванием. Вы можете создать что-то вроде:

env mule.home=/Users/chandra/mule/

Но вы не сможете прочитать это, насколько я знаю. Кроме того, bash должен помешать вам даже создавать эти идентификаторы в первую очередь.


Мое предложение состояло бы в том, чтобы вместо этого создать переменную окружения с подчеркиванием и, возможно, использовать слова UPPERCASE , что является обычной практикой.

Или используйте другую оболочку, которая поддерживает точки в переменных окружения, например, csh и tcsh .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .