Trên Mac OS X, các $PATH
giá trị mặc định là:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Các giá trị mặc định trên Linux là gì?
Trên Mac OS X, các $PATH
giá trị mặc định là:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
Các giá trị mặc định trên Linux là gì?
Câu trả lời:
Trên cài đặt máy tính để bàn Ubuntu mặc định $PATH
là:
$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Nhưng trong một môi trường chroot tối thiểu được tạo bởi debootstrap
, $PATH
chỉ chứa:
# echo $PATH
/usr/sbin:/usr/bin:/sbin:/bin
Các giá trị đường dẫn môi trường được lưu trữ trong tệp .bashrc trong ubfox.
Biến PATH trên toàn hệ thống được xác định trong /etc/environment
Có một cách dễ dàng để tìm hiểu:
printenv
Hoặc, trực tiếp hơn:
echo $PATH
Nhưng, nếu bạn chỉ tìm kiếm một số thông tin nhanh, Ubuntu thường đặt đường dẫn đến:
/ usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / bin / X11: / usr / games:
Đối với những câu hỏi như thế này, bạn thường có thể tìm ra câu trả lời bằng cách đọc Kinh thánh .
Tùy thuộc vào Linux mà bạn sử dụng, nó có thể khác nhau. Nếu bạn đã đăng nhập vào linux, chỉ cần gõ 'env' để xem các biến môi trường của bạn.
Nếu bạn muốn biết biến Pv env đang được xây dựng như thế nào, hãy xem .bashrc và .bash_profile trong thư mục chính của bạn. Nếu tò mò hơn, bạn cũng có thể xem / etc / profile, /etc/profile.d/* (nếu tồn tại) và hướng dẫn sử dụng bash (man bash).
bash
sẽ được đặt thành PATH
giá trị mặc định được mã hóa cứng nếu nó không được đặt trong môi trường:
$ env -i bash -c 'echo $PATH'
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Chúng tôi có thể kiểm tra xem giá trị này có thực sự được mã hóa cứng và không được đọc từ môi trường hoặc một số tệp bằng cách sử dụng strings
tiện ích:
$ strings /bin/bash | grep /usr/sbin
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
Tuy nhiên, tôi nhận được một kết quả khác trên máy Arch Linux của mình:
$ env -i bash -c 'echo $PATH'
/usr/local/sbin:/usr/local/bin:/usr/bin
Vì vậy, có vẻ như mặc định này được chọn tại thời điểm bash
nhị phân được xây dựng, điều này phụ thuộc vào phân phối Linux được sử dụng.