Осмотрите ~/.profile
, ~/.bash_profile
и ~/.bashrc
. Также возможно, что эти значения устанавливаются в /etc/profile
или других общесистемных файлах, но характер ошибок таков, что я предполагаю, что они являются результатом ваших собственных ручных изменений ваших личных файлов. Вы лучший судья, чтобы решить, что вы, возможно, изменили и когда.
Посмотрите на записи, такие как:
PATH='/usr/local/share/python:$PATH'
PATH='PATH=/usr/local/share/npm/bin:$PATH'
PATH='export PATH��:/usr/local/git/bin'
Они должны вместо этого выглядеть
PATH=/usr/local/share/python:$PATH
PATH=/usr/local/share/npm/bin:$PATH
PATH=$PATH:/usr/local/git/bin
# Not strictly necessary -- PATH is already exported
export PATH
Смотрите рисунок? Все они добавляют значение к PATH
, установив его на prefix:$PATH
или $PATH:suffix
, где новый префикс или суффикс - это каталог, в котором вы установили локальный пакет. Является ли новое значение префиксом или суффиксом, вероятно, не имеет большого значения - за исключением случаев, когда вы пытаетесь переопределить системную версию (скажем, установлен ваш /usr/local/git
, потому что /usr/bin/git
слишком старый - тогда важно, чтобы ваша версия local
на первом месте в PATH
). При первом запуске команды существует небольшая разница в скорости; оболочка должна искать больше мест, прежде чем найти ее, если она находится в конце PATH
.
Разница в цитировании значителен - PATH=$PATH:suffix
расширяется к старому значению PATH
с :suffix
добавленного дальше, в то время как PATH='$PATH:suffix'
заменяет старое значение PATH
с символьной строкой $PATH
с :suffix
добавлены. Вам повезло, что ничто из этого не заменило ваш оригинальный PATH
, что сделало бы вашу оболочку по большому счету неработоспособной (по крайней мере, пока вы не обнаружите, что вам нужно использовать /bin/ls
вместо ls
).
Независимо от того, что у них есть, есть и другая ошибка - 'export' является (обычно ненужной) частью команды, а не частью значения. Значение предполагает, что вы установили 'git' локально, когда это произошло. Также есть несколько других ошибок, в которых у вас есть 'PATH =' и '$ PATH' как часть значения. Но мы не можем устранить проблему без доступа к вашим файлам. Вы вручную отредактировали '.bashrc'? Как насчет '.profile'? – tripleee
мог бы получить это, отредактировав файлы ~/.bashrc и ~/.bash_profile? .bashrc пуст, и в .bash_profile есть куча вещей, модифицированных macports. Кроме того, как я могу сделать эти файлы доступными для просмотра? –
Вам нужно будет установить, где сделаны ошибочные изменения в вашей PATH. Поскольку вы используете 'bash', я предлагаю использовать:' bash -x -l' (за которым следует 'exit'), чтобы точно увидеть, что происходит, когда вы входите в систему. Похоже, что есть, пожалуй, 5 попыток в коде PATH и 4 из них ошибочны. Однако это немного странно, что вы видите. Вы также можете попробовать «echo» $ PATH »| od -c', который покажет вам, какие значения байтов имеют ошибочные символы. –