Saya memecahkan PATH saya dengan mengedit ~ / .bash_profile saya dan Bash tidak akan mengenali sebagian besar perintah

15

di .bash_profile Saya tidak sengaja mengatur path ke:

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

dan sekarang jalur default hilang. Tidak ada di Terminal yang berfungsi lagi:

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

Saya tidak dapat melihat file tersembunyi di Finder sehingga saya tidak dapat memodifikasi .bash_profile dari Finder juga.

Bagaimana saya bisa memperbaiki situasi ini?

Koray Tugay
sumber
1
Ini mungkin tidak berfungsi pada sistem BSD-ish: coba pulihkan jalur default dengan PATH=$(getconf PATH), jika tidak lakukanPATH=/bin:/usr/bin
glenn jackman
1
Saran "getconf PATH" memang berfungsi dengan baik, setidaknya pada 10.10.
calum_b
3
Karena PATH hancur, maka saran glenn akan bekerja denganPATH=$(/usr/bin/getconf PATH)
fd0

Jawaban:

25

Cara paling sederhana adalah dengan mengembalikan dari cadangan misalnya dari Time Machine
Namun jika cadangan terakhir cukup lama bahwa ada perubahan lain yang ingin Anda simpan, Anda dapat mengedit .bash_profile

Di terminal

Di terminal Anda dapat menggunakan path lengkap ke editor (/ usr / bin / emacs / usr / bin / vi atau / usr / bin / nano) untuk mengedit ~ / .bash_profile

misalnya

/usr/bin/nano ~/.bash_profile

Atau Anda dapat membukanya dengan editor teks default (dengan TextEdit default) melalui:

/usr/bin/open ~/.bash_profile

Di GUI - dari Dock atau Finder

Tetapi Anda juga dapat melakukan ini dari TextEdit (atau editor GUI lainnya) dengan File-> Buka dan buka direktori home Anda. Bergantung pada apakah Anda telah menetapkan Finder untuk menampilkan semua file atau tidak menampilkan yang tersembunyi (default) Anda akan melihat .bash_profile dalam daftar atau Anda dapat menekan ⌘ CMD+ ⇧ SHIFT+ .yang mengungkapkan file tersembunyi di dialog Buka / Simpan. (pintasan dari jawaban ini )

pengguna151019
sumber
5
Pengguna yang tidak dapat memperbaiki masalah yang dijelaskan sendiri mungkin lebih baik menggunakan nanodaripada emacs/ viuntuk mengedit ~/.bash_profile.
nohillside
12

Bawa kembali PATH minimal

Masukkan perintah berikut untuk mengatur ulang PATH minimal:

PATH=/bin:/usr/bin

Memperbaiki ~/.bash_profile

Edit Anda ~/.bash_profiledengan editor teks pilihan Anda vi, emacs atau TextEdit. Selalu lebih suka konstruksi PATH relatif:

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

Menguji

Sebelum melanjutkan seperti yang dilakukan terlalu banyak pemula dengan memulai kembali sesi Anda, untuk menemukan bahwa mereka tidak dapat lagi memulai shell. Uji Anda ~/.bash_profile: buka Terminaljendela lain , dan periksa apakah berfungsi dengan baik:

. ~/.bash_profile
ls
uptime
date
...
dan
sumber
1
Tidak perlu exportminimal Anda PATH. Setiap proses yang dimulai oleh shell saat ini akan mewarisi minimal PATH. Padahal, saya akan menggunakan export PATHfile konfigurasi shell.
fd0
1
Baik! Saya sangat terbiasa mengetik seperti ini di lingkungan di mana ada skrip shell yang diuji.
dan
2

Saya menemukan kesalahan ini yang membutuhkan saya sepanjang sore untuk diatasi. ls, git, mkdir dll. perintah bash menjadi tidak valid dan melaporkan kesalahan: "- bash: xx: tidak dapat menemukan file atau direktori" karena saya memodifikasi .bash_profile dalam menginstal zsh. masukkan perintah berikut untuk mengembalikan ~ / .bash_profile Anda

  1. di terminal mac, masukkan:

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  2. Anda dapat menggunakan perintah bash untuk sementara, masukkan:

    vim ~/.bash_profile
  3. pulihkan parameter PATH dengan memodifikasi

    export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  4. simpan vim dan keluar, lalu masukkan:

    source ~/.bash_profile

Oke, komputer saya berfungsi lagi!

Yongsheng Yu
sumber
Mungkin perlu ditambahkan bahwa seseorang harus berhati-hati pada langkah 3 jangan merusak konten lain dalam file.
nohillside
.bash_profile dihancurkan oleh pesanan saya yang salah, tidak ada yang tersisa kecuali kosong "export PATH =", jadi ini adalah satu-satunya cara saya harus kembali mac saya
Yongsheng Yu
-2
  1. Buka bash_profile Anda dengan menjalankan / usr / bin / vim ~ / .bash_profile. (vim ~ / .bash_profile tidak akan berfungsi lagi karena jalurnya tidak benar).
  2. Singkirkan jalur yang baru saja Anda tambahkan yang mengacaukan segalanya.
  3. Keluar dan mulai ulang terminal sehingga sumber ~ / .bash_profile berjalan secara otomatis. (Sekali lagi itu tidak akan berfungsi sebagaimana mestinya, karena jalannya tidak benar).
Josh
sumber
-5

Buka .bash_profile Anda, buka baris dengan perintah kesalahan Anda dan beri tanda # di depannya sebagai karakter pertama dari baris tersebut. Mulai ulang (pasti).

LexS
sumber
Bagaimana dia membuka .bash_profile?
user151019