Nếu bạn đang sử dụng máy Mac và đã tự hỏi tại sao cứ /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
tiếp tục sử dụng PATH khi bạn chạy tmux, thì đó là vì một tiện ích có tên path_helper chạy từ /etc/profile
tệp của bạn .
Bạn không thể dễ dàng thuyết phục tmux (hay đúng hơn là bash) không nguồn /etc/profile
(vì một số lý do tmux luôn chạy như một vỏ đăng nhập, có nghĩa là / etc / profile sẽ được đọc), nhưng bạn có thể chắc chắn rằng các hiệu ứng của path_rcper don vít với PATH của bạn.
Mẹo nhỏ là đảm bảo rằng PATH trống trước khi path_helper chạy. Trong ~/.bash_profile
tập tin của tôi, tôi có cái này:
if [ -f /etc/profile ]; then
PATH=""
source /etc/profile
fi
Xóa PATH trước khi thực thi path_helper sẽ ngăn không cho nó trả trước PATH mặc định cho PATH đã chọn (trước đó) của bạn và sẽ cho phép phần còn lại của các tập lệnh thiết lập bash cá nhân của bạn (tiếp tục xuống .bash_profile
hoặc .bashrc
nếu bạn đã lấy nó từ .bash_profile
) để thiết lập ĐÚNG cho phù hợp.
Hy vọng điều đó có ý nghĩa ...
if [ -n "$TMUX" ]
điều khoản bản thân mình, nhưng tôi đã tự hỏi -[ -f /etc/profile ]
thực sự quan trọng như thế nào ? Có an toàn không khi cho rằng đó/etc/profile
luôn là một tệp thông thường?