Tôi đang cố gắng chuyển sang zsh từ Bash.
Tôi đã đặt trực tiếp .bashrc của mình vào .zshrc của tôi và nó gây ra rất nhiều lỗi khi tôi cố sử dụng lại Bash.
Làm cách nào bạn có thể xuất .bashrc của mình sang .zshrc?
Tôi đang cố gắng chuyển sang zsh từ Bash.
Tôi đã đặt trực tiếp .bashrc của mình vào .zshrc của tôi và nó gây ra rất nhiều lỗi khi tôi cố sử dụng lại Bash.
Làm cách nào bạn có thể xuất .bashrc của mình sang .zshrc?
Câu trả lời:
Trong khi câu trả lời của lhunath đã đẩy tôi đi đúng hướng, zsh dường như không .profile
tự động tìm nguồn . Rất nhiều thông tin tốt về chủ đề này có thể được tìm thấy trên bài đăng của siêu người dùng này .
Điều chỉnh mà tôi đang sử dụng đang đưa các bí danh và chức năng chung vào .profile
và tìm nguồn cung cấp chúng theo cách thủ công như sau:
Trong ~/.bashrc
:
source ~/.profile
Trong ~/.zshrc
:
[[ -e ~/.profile ]] && emulate sh -c 'source ~/.profile'
emulate
là một lệnh nội trang zsh. Với một đối số, hãy thiết lập các tùy chọn zsh để mô phỏng shell được chỉ định nhiều nhất có thể.
Bạn không thể " xuất " của mình .bashrc
sang a .zshrc
. .bashrc
là một tệp chạy bash
các lệnh. .zshrc
là một tệp chạy zsh
các lệnh.
Bạn không thể mong đợi zsh
có thể chạy các bash
lệnh trong của mình .bashrc
, vì vậy bạn nên chuyển nó thành lệnh mới .zshrc
thay vì cố gắng chạy .bashrc
từ .zshrc
hoặc sao chép lệnh trước vào lệnh sau.
Nếu bạn muốn một tệp khởi tạo shell chung cho tất cả các shell của mình; sử dụng .profile
(và loại bỏ .bashrc
và .zshrc
). Nó có nguồn gốc bởi tất cả các shell POSIX. Và trong đó, cây gậy để POSIX vỏ đặc trưng duy nhất . Sau đó, mã đó sẽ chạy trong bất kỳ trình bao POSIX nào. (Mặc dù vậy, tôi không chắc chắn 100% rằng zsh
nó tuân thủ POSIX).
Xem: http://mywiki.wooledge.org/DotFiles .
Mặc dù - và trước tiên tôi đã đọc nhầm phần này trong câu hỏi của bạn - bạn sẽ không gặp lỗi bash
khi chạy .bashrc
trừ khi bạn đặt zsh
lệnh vào đó. Bạn đã? Bạn đang gặp phải lỗi gì? Nghe có vẻ như bạn đã thêm zsh
mã vào của mình .bashrc
và bash
(rõ ràng) không hiểu.
Ngoài ra, hãy ojblass
cố gắng tạo ra một điểm về tính di động chỉ thành công một phần. zsh
là một cái vỏ tuyệt vời (mặc dù bản thân tôi chưa được vinh danh), nhưng khi viết kịch bản; Tôi khuyên bạn nên làm như vậy với #!/usr/bin/env bash
thay thế. Chủ yếu chỉ vì lợi ích của riêng bạn (và cuối cùng là những người bạn chia sẻ với họ) vì tính di động.