ITerm / zsh tidak membaca .bashrc ATAU .bash_profile


39

Dalam ~/.bash_profile aku punya:

if [ -f ~/.bashrc ]; then
    source ~/.bashrc
fi

Dalam ~/.bashrcSaya memiliki beberapa alias

Ketika saya memuat jendela iTerm baru, alias saya tidak berfungsi. Jika saya sumber ~/.bashrcmereka bekerja. Jika saya sumber ~.bash_profilemereka bekerja.

Bukankah setidaknya salah satu dari ini seharusnya bersumber secara otomatis?

Apa yang menyebabkannya tidak berfungsi dengan baik?

Jawaban:


56

Jawabannya sederhana, hampir terbukti dalam pertanyaan itu. Inilah alasannya:

Shell zshtidak bash, itu shell yang berbeda. zshtidak akan menggunakan file default yang dibangun untuk bash: .bashrcatau .bash_profile. Kedua file ini adalah file konfigurasi startup untuk bash. zshmemiliki file konfigurasi startup sendiri.

Anda dapat mengetahui lebih lanjut tentang mereka di sini di zsh halaman intro :

Ada lima file startup yang akan dibaca zsh dari:

$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout

Anda telah menyebutkan alias Anda tidak berfungsi, untuk memperbaikinya, terapkan alias Anda di sini seperti ini:

~/.zshrc

alias sz='source ~/.zshrc'     # Easily source your ~/.zshrc file.
alias ls='pwd; ls --color'     # Alias 'ls' to: pwd + ls + color.

Terima kasih. Catatan yang ls --colormemberi saya illegal optionkeduanya bashdan zshOSX 10.10, tetapi tidak di Linux - saya akan memeriksanya. Bersulang.
Bradley Flood

Saya tidak punya Mac untuk diuji tetapi saya pikir ini ada hubungannya dengan implementasi ls pada OS X, saya tidak berpikir itu memiliki argumen - -warna. Jika saya ingat saya akan mencarinya.
projectdp

1
"... zsh memiliki file konfigurasi startup sendiri." ini yang mungkin dia minta ya? katakan saja "kawan, itu ~ / .zshrc".
eyurdakul

+1 tips hebat dalam jawaban untuk macOS Catalina sekarang menggunakan zsh secara resmi. Terima kasih.
therobyouknow

18

Jika Anda menggunakan zsh maka untuk memaksa sumber .bash_profile

di ~/.zshrctambahkan baris di bawah ini

source ~/.bash_profile

PS - Saya belum menyelidiki apakah ini dapat menyebabkan masalah.


2
Saya kira jawaban ini akan sangat membantu setelah rilis macOS 10.5 Catalina untuk port bash_profile dari bash ke zsh.
Oleksii Kyslytsyn

Cepat dan efektif!
Roberto Manfreda

0

Salin baris dari ~ / .bash_profile ke ~ / .zshrc

cat ~/.bash_profile > ~/.zshrc

Dan buka tab / jendela terminal baru atau gunakan source ~/.zshrc

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.