Я порушив свій PATH, відредагувавши свій ~ / .bash_profile, і Bash не розпізнає більшість команд


12

у .bash_profile Я випадково встановив шлях до:

PATH="~/Tools/apache-maven-3.3.3/bin"

і тепер шлях за замовчуванням пішов. Більше нічого в Терміналі не працює:

Korays-MacBook-Pro:~ koraytugay$ ls
-bash: ls: command not found
Korays-MacBook-Pro:~ koraytugay$ mkdir test
-bash: mkdir: command not found

Я не бачу прихованих файлів у Finder, тому не можу змінювати .bash_profile також із Finder.

Як я можу виправити цю ситуацію?


1
Це може не працювати в системі BSD-ish: спробуйте відновити шлях за замовчуванням PATH=$(getconf PATH), в іншому випадку зробітьPATH=/bin:/usr/bin
glenn jackman

1
Пропозиція "getconf PATH" дійсно працює добре, принаймні, 10.10.
calum_b

3
Оскільки PATH є здивованим, тоді пропозиція Глена буде працювати зPATH=$(/usr/bin/getconf PATH)
fd0,

Відповіді:


24

Найпростіший спосіб - відновити з резервної копії, наприклад, з Time Machine.
Однак, якщо остання резервна копія була досить давно, що є інші зміни, які ви хочете зберегти, ви можете редагувати .bash_profile

У терміналі

У терміналі ви можете використовувати повний шлях до редакторів (/ usr / bin / emacs / usr / bin / vi або / usr / bin / nano) для редагування ~ / .bash_profile

напр

/usr/bin/nano ~/.bash_profile

Або ви можете відкрити його за допомогою текстового редактора за замовчуванням (за замовчуванням TextEdit) за допомогою:

/usr/bin/open ~/.bash_profile

У графічному інтерфейсі - від Dock або Finder

Але також ви можете зробити це з TextEdit (або інших редакторів графічного інтерфейсу) за допомогою File-> Open і перейти до домашнього каталогу. Залежно від того, ви встановили Finder показувати всі файли чи не показувати приховані файли (за замовчуванням), ви побачите .bash_profile у списку, або ви можете натиснути ⌘ CMD+ ⇧ SHIFT+, .що розкриває приховані файли в діалогових вікнах Open / Save. (ярлик від цієї відповіді )


5
Користувачі, які не можуть самостійно виправити описану проблему, краще використовувати nanoзамість emacs/ viдля редагування ~/.bash_profile.
nohillside

11

Поверніть мінімальну ПАТ

Введіть таку команду, щоб скинути мінімальний PATH:

PATH=/bin:/usr/bin

Виправити ~/.bash_profile

Відредагуйте свій ~/.bash_profileтекстовий редактор vi, який ви хочете , emacs або TextEdit. Завжди віддайте перевагу відносній конструкції PATH:

PATH=${PATH}:...my_personal_added_pathes...
export PATH

Перевірте це

Перш ніж продовжувати, як це робиться занадто багато початківців, перезавантаживши сеанс, щоб виявити, що вони вже не можуть запустити оболонку. Перевірте ~/.bash_profile: відкрийте ще одне Terminalвікно та переконайтеся, що воно справно працює:

. ~/.bash_profile
ls
uptime
date
...

1
Немає потреби у exportвашому мінімумі PATH. Будь-який процес, розпочатий поточною оболонкою, успадкує мінімальний PATH. Хоча я б використав export PATHу файлі конфігурації оболонки.
fd0

1
Правильно! Я так звик вводити його таким чином у середовищі, де є тести скриптів на оболонці.
дан

2

я натрапив на цю помилку, яка переносить мене цілий день, щоб подолати. Команди bash ls, git, mkdir etc. стали недійсними та повідомили про помилку: "- bash: xx: не можу знайти файли чи каталоги", оскільки я змінив .bash_profile під час встановлення zsh. введіть наступну команду для відновлення ~ / .bash_profile

  1. у терміналі mac введіть:

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  2. ви можете тимчасово використовувати ваші команди bash, введіть:

    vim ~/.bash_profile
  3. відновити параметри PATH шляхом зміни

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  4. збережіть vim та вийдіть, а потім введіть:

    source ~/.bash_profile

Гаразд, мій комп'ютер працює знову!


Можливо, варто додати, що на кроці 3 потрібно бути обережним і не знищувати інший вміст у файлі.
nohillside

.bash_profile був знищений моїми неправильними замовленнями, нічого не залишається, окрім порожнього "експортувати PATH =", тож це єдиний спосіб, коли мені довелося повернути назад свій Mac
Yongsheng Yu

-2
  1. Відкрийте bash_profile, запустивши / usr / bin / vim ~ / .bash_profile. (vim ~ / .bash_profile більше не працюватиме, оскільки шлях неправильний).
  2. Позбудьтесь шляху, який ви тільки що додали, який все зіпсував.
  3. Вийдіть і перезапустіть термінал, щоб джерело ~ / .bash_profile працював автоматично. (Знову він не працюватиме так, як є, тому що шлях невірний).

-5

Відкрийте .bash_profile, перейдіть до рядка із командою помилки та поставте # перед ним як перший символ рядка. Перезапустіть (щоб бути впевненим).


Як він відкриває свій .bash_profile?
Марк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.