Thay đổi biến môi trường PATH trên Linux

Giả sử ban đầu em tạo một file: touch /usr/daynhauhoc
Nội dung trong file: echo "Xin chao daynhauhoc"
Vào thư mục /usr và thay đổi quyền của file daynhauhoc:
chmod 755 daynhauhoc
Yêu cầu:
Thêm đường dẫn vào biến PATH để shell daynhauhoc có thể được thực hiện theo cú pháp: sh daynhauhoc cho dù đang đứng ở bất kỳ vị trí nào?
Em thay đổi biến môi trường như sau: PATH=$PATH:/usr
Khi ở thư mục /usr và nhập lệnh: sh daynhauhoc ==> Kết quả: Xin chao daynhauhoc
Nhưng khi chuyển đến thư mục người dùng và gõ lệnh: sh daynhauhoc thì nhận được thông báo lỗi: sh: 0: cannot open daynhauhoc: No such file
Bác nào biết giúp em với.

bạn đã hiểu sh something thì thực sự nó làm gì chưa?

4 Likes

Em chỉ hiểu là sh something để chạy shell script something thôi ạ.

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)

ở đây theo bạn something đóng vai trò là command hay là đường dẫn đến file shell. Ngoài ra sau khi cho vào PATH, bạn đã reset lại shell chưa, cách cho vào path là ntn

2 Likes

Theo mình nghĩ là thêm một đường dẫn tạm thời vào biến môi trường $PATH, đường dẫn là: /usr . Chạy lệnh daynhauhoc thì sẽ dò vào các đường dẫn trong $PATH, dò đến /usr thì sẽ chạy file daynhauhoc và hiển thị ra kết quả. Nhưng mình không hiểu làm sao để có thể chạy được file daynhauhoc bằng lệnh: sh daynhauhoc (Có lệnh sh phía trước).

Đề bài yêu cầu là phải chạy được lệnh “sh daynhauhoc cho dù đang đứng ở bất kỳ vị trí nào”. Bạn hiểu thì giải thích ra giúp mình làm sao có thể thực thi được daynhauhoc bằng lệnh sh daynhauhoc cho dù ở bất kì vị trí nào với ạ.

Thực ra với yêu cầu trên thì bạn chỉ cần quẳng file daynhauhoc vào thư mục /usr/bin là xong, không cần sửa PATH làm gì.
Khi bạn thực hiện theo hướng sửa PATH thì bạn phải hiểu thêm cả việc cách mà 1 command được tìm thấy, biến môi trường PATH đóng vai trò gì, biến môi trường PATH được set ở đâu
PS: sh đóng vai trò gì ở đây? câu hỏi này khá quan trọng để hiểu bản chất nên bạn cần bỏ thêm thời gian để nghiên cứu để ra được trả lời chính xác nhé

5 Likes

Cái này là câu hỏi fake nhé, lười/ sợ đọc tiếng Anh chứ không có gì khó ở đây về mặt công nghệ/ IT gì hết. Tài liệu Linux thiếu gì, đọc 10 phút bài này là giải quyết rốt ráo.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?