Tại sao phải sử dụng ./ khi chạy một tập tin .sh trên Linux

Khi chạy một tập tin có phần mở rộng là .sh với quyền thực thi (execute) thì người dùng được khuyên nên sử dụng ./ đặt trước tên tập tin. Ví dụ:

$ ./test.sh

Thay vì:

$ test.sh

Mặc dù cả hai đều đưa ra kết quả giống như nhau?

Được hỏi 1 năm trước
Bình chọn bởi: Nguyễn Văn Tuấn, Hani Ngoc, Duc Nguyen, Anh Tuấn, Hoàng Tùng, Trần Diễm, Phạm Vũ, Minh Tran, Tân Lê, Hải Phạm, Nguyễn Duy Tuấn, Truc Le, Hang Pham, Hiệp Bùi, Hoang Anh, Hang Tran, Nguyen Thuy Trang, Roy Trịnh, Diệu Yến, Đăng Duy, Huyền SuBy, Ngọc Nguyễn, Uni Moon, Lê Trung, Hoàng Giang, Đức Tuấn, Bảo Davis, Hanh Nguyen, Phuong Jenny, Đình Anh, Vũ Huy Hoàng, Ngọc Anh, Nguyễn Đạt, Thu Hang, Nguyễn Công

Làm như vậy để đảm bảo bảo mật cho server!

Bạn thử hình dung trong trơngf hợp có một người dùng nào (ví dụ một nhân viê sắp nghỉ việc) login vào server và tạo một alias như sau:

$ alias test.sh="rm -rf /"

Lúc này câu lệnh của bạn:

$ test.sh

Sẽ thực hiện tác vụ xoá bỏ toàn bộ tập tin trên server thay vì thực thi mã lệnh có trong tập tin test.sh.

Trả lời 1 năm trước

Thêm Trả Lời