1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

[lập trình nhúng] Tìm hiểu về biến môi trường PATH

Thảo luận trong 'Lập trình nhúng' bắt đầu bởi linhdong, 27 Tháng ba 2012.

  1. linhdong Member

    Số bài viết: 306
    Đã được thích: 6
    Điểm thành tích: 18
    Giới tính: Nam
    Tìm hiểu về biến môi trường PATH


    [IMG]Có bao giờ các bạn thắc mắc rằng: khi gõ vào một lệnh trong Linux thì chương trình Shell (ví dụ: bash) tìm kiếm file thực thi của lệnh đó như thế nào không?Và có bao giờ bạn gặp phải trường hợp: khi thực thi một lệnh thì Shell báo rằng “command not found” mặc dù bạn đã cài lệnh đó vào máy rồi không?
    Hiểu được biến môi trường PATH chính là bạn đã trả lời được cho 2 câu hỏi trên.

    1. PATH là gì?PATH là 1 biến môi trường (environment variable) chứa danh sách các thư mục mà chương trình Shell sẽ tìm kiếm (trong các thư mục này) cho file thực thi tương ứng với tên lệnh được đưa ra bởi người dùng.Ví dụ: khi gõ lệnh ls, thật ra bạn đang yêu cầu Shell chạy file /bin/ls (thường thì tên lệnh trùng với tên file thực thi của chương trình). Lệnh ls thực hiện thành công là do mặc định thư mục /bin nằm trong PATH của tất cả user, nếu /bin không có trong PATH bạn phải gõ đường dẫn đầy đủ tới file ls/bin/lsMỗi user sở hữu 1 biến PATH riêng. Điều này giải thích vì sao cùng một câu lệnh mà user này thực thi được nhưng user khác lại nhận được thông báo “command not found”.

    2. Thiết lập PATHViệc chỉnh sửa danh sách các thư mục có trong PATH của 1 user được gọi là thiết lập PATH. Cú pháp thiết lập PATH phụ thuộc vào loại Shell bạn đang sử dụng. Dưới đây hướng dẫn bạn cấu hình PATH cho bash – shell mặc định trên hầu hết các bản phân phối Linux – và csh, tsh

    • Để xem hướng dẫn thiết lập PATH với các shell khác, gõ:
    $man shell_name

    • Để biết được bạn đang sử dụng Shell nào, gõ lệnh sau và tìm kiếm phần Shell trong đầu ra của lệnh:
    $finger username

    >> Gõ lệnh sau để thiết lập PATH đối với bash shell

    export PATH=$PATH:thư_mục_1:thư_mục_2:…:thư_mục_n

    >> Đối với csh hoặc tsh thì gõ lệnh sau để thiết lập PATH

    set PATH = ($PATH thư_mục_1 thư_mục_2 … thư_mục_n)

    Trong 2 lệnh trên thì từ $PATH có nghĩa là hệ thống sẽ giữ lại các thư mục có sẵn trước đó trong PATH và sẽ thêm vào PATH các thư mục là thư_mục_1, thư_mục_2,… thư_mục_n.Lưu ý là bạn phải chỉ định đường dẫn đầy đủ cho các thư mục muốn thêm vào PATH, ví dụ như /usr/sbin/usr/local/bin là các đường dẫn hợp lệ. Bạn có thể thêm vào PATH bao nhiêu thư mục tùy ý.Nếu bạn gõ 2 lệnh trên trong cửa sổ dòng lệnh của Shell thì những thay đổi cho PATH chỉ có hiệu lực trong suốt phiên đăng nhập hiện tại. Khi bạn đăng xuất hoặc khởi động lại máy thì thiết lập PATH trước đó mất hiệu lực.Bạn nên thêm lệnh trên vào file .bashrc (cho bash) hoặc .cshrc (cho tsh và csh) nằm ở thư mục /home/user_name để mỗi lần tài khoản user_name đăng nhập, biến PATH được thiết lập tự động. Để áp dụng PATH chung cho tất cả user bạn thêm lệnh trên vào file/etc/profile—–

    Mở rộng:
    CLASSPATH và cách thiết lập




    CLASSPATH cũng là một dạng biến môi trường chứa danh sách các thư mục mà hệ điều hành sẽ tìm kiếm trong các thư mục này các file thư viện, module cho một chương trình.VD: Để biên dịch 1 chương trình Java, bạn cần tới các file *.class , các file này cần thiết nằm trong các thư mục có trong CLASSPATHTùy theo loại Shell bạn đang sử dụng mà câu lệnh để thiết lập cho CLASSPATH khác nhau-

    Với bash shell

    export CLASSPATH=$CLASSPATH:/java/classes:/home/uit/myclasses

    - Với csh, tsh

    set
    CLASSPATH = ($CLASSPATH /java/classes /home/tchin/myclasses)

    Ý nghĩa của $CLASSPATH và cách cấu hình cho Shell tự động thiết lập CLASSPATH mỗi khi bạn đăng nhập giống với PATH
    –manthang.

Chia sẻ trang này