Trong .bash_profile tôi có các dòng sau của tôi:Làm thế nào để chỉnh sửa biến đường dẫn trong ZSH
PATHDIRS="
/usr/local/mysql/bin
/usr/local/share/python
/opt/local/bin
/opt/local/sbin
$HOME/bin"
for dir in $PATHDIRS
do
if [ -d $dir ]; then
export PATH=$PATH:$dir
fi
done
Tuy nhiên tôi cố gắng sao chép này để tôi zshrc, và $PATH
không được thiết lập.
Trước tiên, tôi đặt các câu lệnh echo
bên trong hàm "nếu thư mục tồn tại" và tôi thấy rằng câu lệnh if được đánh giá là sai, ngay cả đối với các thư mục đã tồn tại rõ ràng.
Sau đó, tôi loại bỏ các thư mục-tồn tại kiểm tra, và $PATH
đã được đặt không chính xác như thế này:
/usr/bin:/bin:/usr/sbin:/sbin:
/usr/local/bin
/opt/local/bin
/opt/local/sbin
/Volumes/Xshare/kburke/bin
/usr/local/Cellar/ruby/1.9.2-p290/bin
/Users/kevin/.gem/ruby/1.8/bin
/Users/kevin/bin
Không ai trong số các chương trình trong thư mục phía dưới đã được tìm thấy hoặc thực thi.
Tôi đang làm gì sai?
+1 - Hai mẹo nhanh bổ sung hữu ích cho thao tác '$ PATH' trong' zsh' (đối với bất kỳ ai đi qua): * (1) * để thêm vào thay vì nối thêm: 'path [1,0] =/path/to/dir', và * (2) * nếu bạn đang sử dụng globbing để tìm các thư mục, bạn không phải sử dụng vòng lặp for và thay vào đó chỉ cần thực hiện 'path + = ($ PWD/node_modules/**/bin ') (cũng hoạt động với * (1) *). – unthought
Cảm ơn, tôi đã sử dụng đề xuất của bạn, với đường dẫn = ($^đường dẫn (N- /)). Bây giờ là có một cách để đảm bảo rằng cùng một thư mục không trùng lặp trong $ PATH mỗi khi tôi chạy nguồn ~/.zshrc? Cảm ơn – stansult
@stansult [Có cách nào để thêm thư mục vào PATH của tôi trong zsh chỉ khi nó chưa có?] (Http://unix.stackexchange.com/questions/62579/is-there-a-way- to-add-a-directory-to-my-path-in-zsh-only-nếu-nó-không-đã-trước) – Gilles