«Неверный идентификатор», когда я делаю «экспортировать $ PATH»

37

Когда я запускаю export $PATHв bash, я получаю ошибку not a valid identifier. Зачем?

ThaSaleni
источник
8
В Баш и других оболочках $есть «ценность». Вы экспортируете переменную PATH, не обращаясь к ее значению, так что это export PATHбез $.
Жиль "ТАК - перестань быть злым"
Более распространенная похожая проблема: askubuntu.com/questions/529919/…
Вадим

Ответы:

40

Запуск export $PATHбудет пытаться экспортировать переменную с именем , равным значению из $PATH(после слов расщепления ). То есть это эквивалентно написанию чего-то вроде export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin. И поскольку /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binэто недопустимое имя переменной, оно терпит неудачу. То, что вы хотите сделать, это export PATH.

export(эквивалентно declare -x) в Bash просто делает переменную доступной для подоболочек.

Для безопасного и удобного вывода значения переменной используйте printf %q "$PATH".

l0b0
источник
По сути, я создал несколько переменных, JAVA_HOME, MAVEN_HOME и хочу убедиться, что bash правильно их установил, поэтому я экспортирую $ PATH, чтобы посмотреть, правильно ли установлены переменные пути для переменной PATH
ThaSaleni
1
Это зависит от оболочки, а не от ОС. Я был бы удивлен, если бы exportкогда-либо работал так в Bash.
l0b0
Кроме того, переменная PATH уже экспортирована и не нуждается в повторном экспорте.
Кусалананда
19

Следующая команда export $PATH=somePathвернется, not a valid identifierи это из- $за PATHпеременной before .

решение:

export PATH=somePath

Кевин Крейн
источник
0

Вы должны использовать это так:

export PATH=$PATH:/something/bin

Вместо того:

export $PATH=$PATH:/something/bin

просто удалите $знак с левой стороны.

Абд Эль Рахман Махарик
источник
-1

Вам, вероятно, нужно было добавить $ PATH в существующую переменную PATH?

export PATH=$PATH:/something/bin
Тэд Гидри
источник
2
Хорошо, это в том же парке, что и вопрос, но в левом поле.
G-Man говорит «Восстановить Монику»