Tôi đang sử dụng iTerm trong Mac OS X 10.6. Có vẻ như khi tôi mở iTerm, .bashrc
cũng không .bash_profile
có nguồn gốc. Tôi có thể nói vì các bí danh được xác định trong .bashrc
không được đặt. Làm thế nào để khắc phục?
Tôi đang sử dụng iTerm trong Mac OS X 10.6. Có vẻ như khi tôi mở iTerm, .bashrc
cũng không .bash_profile
có nguồn gốc. Tôi có thể nói vì các bí danh được xác định trong .bashrc
không được đặt. Làm thế nào để khắc phục?
Câu trả lời:
Bash sẽ nguồn EITHER .bash_profile hoặc .bashrc, tùy thuộc vào cách nó được gọi. Nếu nó là một vỏ đăng nhập, Bash tìm kiếm ~ / .bash_profile, ~ / .bash_login hoặc ~ / .profile, theo thứ tự đó và tìm nguồn đầu tiên mà nó tìm thấy (và chỉ cái đó). Nếu nó không phải là vỏ đăng nhập mà là tương tác (giống như hầu hết các phiên cuối), Bash sẽ nguồn ~ / .bashrc.
Có khả năng, iTerm đang tìm kiếm ~ / .bashrc. Nếu nó được cấu hình để bắt đầu như một vỏ đăng nhập, nó sẽ tìm ~ / .bash_profile. Nó gần như chắc chắn là một lỗi trong tệp cấu hình chứ không phải là vỏ không tìm nguồn cung ứng.
Tôi sẽ đặt một dòng ở đầu mỗi tập tin. Ở đầu ~ / .bash_profile:
export BASH_CONF="bash_profile"
Và ở đầu ~ / .bashrc:
export BASH_CONF="bashrc"
Sau đó, mở một iTerm mới và gõ
$ echo $BASH_CONF
Điều đó sẽ xác nhận tập tin đang có nguồn gốc và bạn có thể xem xét cú pháp của tập tin.
Trong iTerm2, không có giải pháp nào trong số này làm việc cho tôi. Tôi đã có thể làm cho nó đọc đúng tệp .bashrc của mình bằng cách thêm lệnh
source ~/.bashrc
đến trường Gửi văn bản khi bắt đầu: trường trong Cài đặt / Chung cho hồ sơ iTerm của tôi.
~/.bashrc
. Đã chỉnh sửa nó.
Tôi chỉ tự hỏi bạn có thực sự sử dụng Bash? Có thể bạn có thể sử dụng echo $SHELL
, hoàn toàn có khả năng bạn đang sử dụng zsh , bạn đã cài đặt trên-my-zh chưa?
Thông thường, tôi gặp phải vấn đề tương tự như bạn, tôi đã khắc phục bằng cách định cấu hình ~ / .zshrc thay vì ~ / .bash_profile cho shell đăng nhập hoặc ~ / .bashrc cho shell không đăng nhập.
Có lẽ bạn có thể thử
Trên máy 10.6 của tôi ~/.profile
có nguồn gốc. Vì vậy, một source .bashrc
mục trong ~/.profile
nên làm công việc.
Dễ dàng sửa chữa.
1. Mở ~/.zshrc
tập tin của bạn
2. Thêm dòng sau vào cuối tập tin.
source ~/.bash_profile
Đặt định nghĩa bí danh của bạn trong tệp hồ sơ bash, bạn phải tạo tệp nhưng nó sẽ có nguồn gốc tự động. Tôi tạo một tệp riêng gọi là alias.configuration và nguồn nó trong .bash_profile chỉ vì tôi có một người dùng khác được xác định và muốn có cùng một bí danh.
.bashrc
cũng không .bash_profile
có nguồn gốc.
Thêm vào
set -x
đến đầu /etc/profile
. Điều này sẽ cho bạn một tài khoản line-by-line của tất cả những gì được thực thi khi bash
khởi động, bao gồm các file có nguồn gốc từ bên trong /etc/profile
, ~/.bash_profile
, vv Đó là một chút khó khăn nếu bạn không hiểu bash
kịch bản rất tốt, nhưng bạn có thể xem có một lỗi trong tệp khởi động và đầu ra sẽ hữu ích cho ai đó thành thạo bash
để giúp bạn xác định vấn đề của mình.
Bạn có thể xóa set -x
dòng khi bạn hoàn thành khắc phục sự cố.
Vào ngày 10.10 và iTerm2 2.0, hồ sơ tùy chỉnh
Tôi kết hợp các giải pháp cặp đôi với nhau để làm việc như mong đợi.
.bash_profile
nguồn và chạy trên zsh.
Preferences -> Profiles -> General
.
Chọn Lệnh dưới Lệnh.
Và thêm vào hộp văn bản /bin/bash --login
.
Sau đó, trong .bash_profile thêm dòng
/bin/zsh --login
Đó là nó.
bash
luôn luôn chạy zsh
, đó không phải là điều mà bất kỳ ai cũng mong đợi.
source ~/.bash_profile
bằng tay. @Scott Sau khi làm những điều trên, tôi có zsh theo cách bắt buộc.
zsh
có thể là những gì bạn mong muốn , nhưng câu hỏi này không bắt buộc hoặc không được yêu cầu , được gắn thẻ [bash] và không nói gì về nó zsh
. (2) Nếu bạn xác định bí danh và hàm shell và đặt biến (không xuất chúng) trong .bashrc
và / hoặc .bash_profile
, chúng có sẵn cho bạn trong zsh
shell của bạn không?
~/.bash_profile
được gọi bằng bash trước, đó là làm ngắn mạch các hướng dẫn bạn có~/.bashrc
. Vấn đề này có thể xảy ra bất ngờ nếu một chương trình giả mạo thêm một số hướng dẫn cho bạn~/.bash_profile
khi trước đó tệp không tồn tại và bạn đã đặt tất cả các lệnh bash của mình vào~/.bashrc
. Giải pháp là xóa ~ / .bash_profile của bạn hoặc để có ~ / .bash_profile nguồn ~ / .bashrc của bạn. Điều này có thể được thực hiện bằng cách thêm lệnh:source ~/.bashrc
vào cuối của bạn~/.bash_profile
và khởi động lại thiết bị đầu cuối.