Saya menggunakan z Shell ( zsh
) alih-alih bash default, dan sesuatu yang salah terjadi sehingga semua perintah yang dulu berfungsi tidak lagi dikenali:
ls
zsh: command not found: ls
open -e .zshrc
zsh: correct 'open' to '_open' [nyae]?
Saya tidak tahu cara mengatur ulang zsh
atau cara memperbaikinya. Berikut ini isi dari $PATH
variabel:
echo $PATH
/Users/Malloc/bin/Sencha/Cmd/3.1.2.342:/usr/local/bin/mate
Saya tidak bisa membuka .bash_profile
file atau .zshrc
file, sepertinya satu-satunya solusi adalah mengatur ulang zsh
. Ada ide?
EDIT:
Saya bahkan mencoba mengatur ulang zsh
seperti yang ditunjukkan di utas ini , tetapi selalu mendapat command not found
kesalahan:
exec zsh
zsh: command not found: zsh
jadi apa yang terjadi? mengapa semua perintah hilang?
Dalam file config ~ / .zsh Anda sertakan path ke file bash path Anda yang berisi alias. Dalam kasus saya itu termasuk baris "source ~ / .bash_profile" di dalam ~ / .zsh.
sumber
~/.zsh
file. Sebaliknya saya harus memasukkannya ke dalam/etc/zshrc
.Gunakan editor teks yang baik seperti VS Code dan buka
.zshrc
file Anda (harus ada di direktori home Anda. Jika Anda tidak melihatnya, pastikan untuk mengklik kanan di folder file ketika membuka dan memilih opsi untuk 'menampilkan file yang tersembunyi') .temukan di mana ia menyatakan:
export PATH=a-bunch-of-paths-separated-by-colons:
masukkan ini di akhir baris, sebelum kutipan akhir:
:$HOME/.local/bin
Dan itu seharusnya bekerja untuk Anda.
Anda dapat menguji apakah ini akan berhasil lebih dulu dengan mengetik ini di terminal Anda terlebih dahulu:
export PATH=$HOME/.local/bin:$PATH
Jika kesalahan hilang setelah Anda mengetik ini ke terminal dan terminal Anda berfungsi secara normal, solusi di atas akan berfungsi. Jika tidak, Anda harus menemukan folder tempat kesalahan referensi Anda berada (yang tidak ditemukan), dan ganti PATH di atas dengan PATH-TO-THAT-FOLDER.
sumber
PATH
pengaturan saya . Dari bash, saya terbiasa dengan awalan direktori di dalam folder rumah saya~
. Jadi ternyata untuk zsh saya seharusnya menggunakan$HOME
variabel, seperti pada contoh Anda.Anda dapat membuat symlink di / usr / local / bin /
sumber
$HOME
dan menyediakan jalur relatif. Menggunakan path lengkap dengan$HOME
memperbaiki masalah saya.$PATH
lebih baik dalam hal penggunaan itu.Bagi saya hanya me-restart terminal saya sepertinya memperbaiki masalah.
sumber
Saya memperbaiki masalah ini dengan membuka tab umum preferensi terminal dan mengubah Command (path lengkap)
/bin/bash
ke default dan kemudian mengedit~/.zshrc
file.... tanpa spasi kosong di antara
PATH="
dan simpan file.Setelah menyimpan file, ubah
/bin/zsh
perintah Anda atau pilih default... dan nyalakan kembali terminal dan Anda seharusnya membuat zsh shell Anda bekerja lagi!
sumber
Jika Anda menyukai saya, Anda akan memiliki dua aplikasi terminal, satu adalah terminal default dengan bash sebagai shell default dan iTerm 2 lainnya dengan zsh sebagai shellnya. Untuk memiliki perintah dan zsh di iTerm 2 dari bash, Anda perlu melakukan hal berikut:
Pada iTerm 2, buka preferensi (atau perintah,). Lalu pergi ke tab profil dan turun ke perintah . Seperti yang Anda lihat pada gambar di bawah, Anda perlu memilih opsi perintah dan menempelkan path zsh shell (untuk menemukan path, Anda dapat melakukannya
which zsh
).Pada titik ini Anda akan memiliki zsh sebagai shell default Anda HANYA untuk iTerm 2 dan Anda akan memiliki bash sebagai shell default global pada aplikasi terminal mac default. Selanjutnya, kami masih melewatkan perintah dari bash di zsh. Jadi untuk melakukan ini, Anda harus menjalankan bash Anda (di mana Anda memiliki perintah Anda bekerja) dan mendapatkan variabel PATH dari env (gunakan perintah ini untuk melakukan itu
env | grep PATH
:).Setelah Anda memilikinya, buka iTerm 2 Anda dan tempel jalur Anda pada opsi "kirim teks saat mulai".
Buka kembali iTerm 2 dan kita selesai!
sumber
Solusi saya:
Ubah kembali ke
bash
:lanjut:
salin ini:
kembali ke
zsh
:buka
.zshrc
:dan tempel:
restart terminal
sumber
Dalam kasus saya, secara tidak sengaja kode yang dikomentari tidak ditulis pada baris pertama.
Hash telah dihapus. Setelah menambahkannya kembali berfungsi dengan baik.
Saya baru saja memposting ini di sini sehingga seseorang mungkin menganggap ini berguna. Karena ini baru memulai dari baris dan mungkin dihapus karena kesalahan seperti yang telah saya lakukan. Dan sepertinya tidak ada solusi setelah mencoba beberapa cara.
sumber
Solusi terbaik bekerja untuk saya untuk jalur perubahan permanen
Buka Finder-> buka folder / Users / / usr / local / bin
buka .zshrc dengan TextEdit
.zshrc adalah file tersembunyi jadi sembunyikan dengan perintah + shift +. tekan
hapus konten dan jenis file
ekspor PATH = ~ / usr / bin: / bin: / usr / sbin: / sbin: $ PATH
dan simpan
sekarang
zsh: perintah tidak ditemukan Hilang
sumber
Restart terminal juga membuat trik untuk saya.
sumber
Seperti yang orang lain katakan, cukup me-restart terminal setelah Anda membuat perubahan harus mengatur ulang dan perubahan yang Anda buat pada file ~ / .zshrc Anda. Misalnya setelah menambahkan fungsi untuk membuka studio visual:
Saya dapat menggunakan kode kata kunci untuk membuka program dari baris perintah.
sumber
Cara untuk mengedit file .zshrc tanpa melakukannya melalui iTerm2 atau Terminal asli di macOS adalah dengan menggunakan terminal di aplikasi lain. Sebagai contoh, saya menggunakan terminal sebagai bagian dari VSCode dan dapat menemukan dan mengedit file.
sumber
Copot dan pasang kembali zsh bekerja untuk saya:
sumber