Jika Anda menggunakan Mac dan bertanya-tanya mengapa /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/binterus ditambahkan ke PATH ketika Anda menjalankan tmux, itu karena sebuah utilitas bernama path_helper yang dijalankan dari /etc/profilefile Anda .
Anda tidak dapat dengan mudah membujuk tmux (atau lebih tepatnya, bash) untuk tidak sumber /etc/profile(untuk beberapa alasan tmux selalu berjalan sebagai shell login, yang berarti / etc / profile akan dibaca), tetapi Anda dapat memastikan bahwa efek dari path_helper don bisa mengacaukan dengan PATH Anda.
Caranya adalah memastikan PATH kosong sebelum path_helper berjalan. Dalam ~/.bash_profilefile saya, saya punya ini:
if [ -f /etc/profile ]; then
PATH=""
source /etc/profile
fi
Mengosongkan PATH sebelum path_helper dijalankan akan mencegahnya dari prapeletakan PATH default ke PATH yang Anda pilih sebelumnya, dan akan memungkinkan sisa skrip pengaturan bash pribadi Anda (perintah lebih jauh ke bawah .bash_profile, atau .bashrcjika Anda berasal dari .bash_profile) untuk mengatur Anda PATH sesuai.
Harapan itu masuk akal ...
if [ -n "$TMUX" ]klausa sendiri, tetapi saya bertanya-tanya - seberapa pentingkah[ -f /etc/profile ]sebenarnya? Bukankah aman untuk menganggap bahwa/etc/profileitu selalu file biasa?