OK, xin lỗi nếu đây là một cái gì đó ngớ ngẩn, nhưng tôi đang cạn kiệt ý tưởng.
Mục tiêu: thêm vào trước /usr/local/binđể$PATH
Vấn đề: $PATH sẽ không làm những gì tôi muốn hoặc mong đợi
Làm thế nào tôi đến đây: Tôi muốn bắt đầu học lập trình, vì vậy tôi cảm thấy thoải mái khi quậy phá dưới mui xe, nhưng không có nhiều kinh nghiệm. Tôi đã cài đặt fishshell (vì nó thân thiện!) Bằng cách sử dụng homebrewvà đặt nó làm shell mặc định (bên dưới system prefs>users & groups>advanced). Tại một số điểm, tôi chạy brew doctorđến để xem các bản cài đặt của tôi có toàn bộ hay không, và nó đề nghị tôi di chuyển /usr/local/binra phía trước $PATHđể tôi có thể sử dụng bản cài đặt của mình gitthay vì bản sao hệ thống. Tốt thôi - nhưng giữa path_helpervà fish, một cái gì đó đã xảy ra $PATHngoài tầm kiểm soát của tôi, và tôi không bao giờ có thể sắp xếp các con đường theo đúng cách.
Môi trường: OSX 10.8.2, nâng cấp từ 10.7ish, với xcodevà DevTools cài đặt, cộng x11, homebrewvàfish
Thông tin thêm: Tôi đã thiết shell mặc định của người dùng của tôi trở lại bash, và cố gắng nhiều vỏ thru terminal.app- bash, fish, sh. Tôi đã chuyển /usr/local/binlên đầu /etc/pathsnhưng nó không thay đổi gì cả. Tôi đã xem qua các config.fishtệp khác nhau và nhận xét những thứ có thể gây rối với $ PATH, không giúp được gì. Tôi có các tập tin sau /etc/paths.d/:
./10-homebrew chứa /usr/local/bin
./20-fish chứa /usr/local/Cellar/fish/1.23.1/bin
./40-XQuartz chứa /opt/X11/bin
Tôi nói thêm set +xđể tôi profilevà khi tôi bắt đầu terminal.apptôi nhận được:
Last login: Mon Oct 1 13:31:06 on ttys000
+ '[' -x /usr/libexec/path_helper ']'
+ eval '/usr/libexec/path_helper -s'
++ /usr/libexec/path_helper -s PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/Cellar/fish/1.23.1/bin:/opt/X11/bin";
export PATH;
+ '[' /bin/bash '!=' no ']'
+ '[' -r /etc/bashrc ']'
+ . /etc/bashrc
++ '[' -z '\s-\v\$ ' ']'
++ PS1='\h:\W \u\$ '
++ shopt -s checkwinsize
++ '[' Apple_Terminal == Apple_Terminal ']'
++ '[' -z '' ']'
++ PROMPT_COMMAND='update_terminal_cwd; '
++ update_terminal_cwd
++ local 'SEARCH= '
++ local REPLACE=%20
++ local PWD_URL=file://Chriss-iMac.local/Users/c4
++ printf '\e]7;%s\a' file://Chriss-iMac.local/Users/c4
Chriss-iMac:~ c4$
Vì vậy, nó trông giống như path_helper chạy, nhưng sau đó chạy echo $PATHlưới tôi /usr/bin:/bin:/usr/sbin:/sbin. Vì vậy, có vẻ như path_helperthậm chí không làm những gì nó phải làm nữa?
Tôi chắc chắn có một số hành vi được xác định rõ ở đây mà tôi không hiểu, hoặc tôi đã làm hỏng một cái gì đó trong khi cố gắng sửa nó. Xin vui lòng giúp đỡ!
fishbằng cách tạo~/.config/fish/config.fishvớiset PATH /usr/local/bin $PATHnhưng tôi vẫn có vấn đềpath_helperrõ ràng là không hoạt động như bình thường, và$PATHdo đó không đầy đủ. Cũng vẫn có vấn đề khác nhau$PATHđối với các tập lệnh, ứng dụng bắt đầu từ GUI, v.v.