Cách tránh xung đột lệnh tự định nghĩa
Vấn đề
- Có khả năng xảy ra xung đột tên giữa script shell tự định nghĩa và lệnh hệ thống
- Đặc biệt, trên các hệ thống hỗ trợ rất nhiều lệnh như Debian, khả năng xung đột càng tăng
Giải pháp
- Thêm dấu phẩy (
,) vào trước các lệnh tự định nghĩa để phân biệt với lệnh hệ thống
- Dấu phẩy không mang ý nghĩa đặc biệt trong tên tệp, nên có thể dùng an toàn
Ưu điểm
- Dùng dấu phẩy giúp tránh xung đột lệnh
- Có thể dễ dàng xem danh sách lệnh tự định nghĩa thông qua tính năng tab completion
Ví dụ
$ ,«tab»
,complete-scp ,go-thpgp ,range
,complete-ssh ,gr ,svn-store-password
,coreoff ,hss ,umount
,coreon ,mount-thpgp ,find
,mount-twt
Ý kiến của GN⁺
- Cách này có thể ngăn chặn hiệu quả xung đột giữa lệnh tự định nghĩa và lệnh hệ thống.
- Việc dùng dấu phẩy là một giải pháp đơn giản nhưng mạnh mẽ, ngay cả kỹ sư mới vào nghề cũng có thể áp dụng dễ dàng.
- Kỹ thuật này đặc biệt hữu ích trên các hệ thống sử dụng rất nhiều lệnh.
- Một cách khác cũng có thể cân nhắc là thêm một tiền tố cụ thể trước lệnh.
- Dùng phương pháp này có thể giúp việc quản lý lệnh trở nên có hệ thống và hiệu quả hơn.
2 bình luận
Ý kiến trên Hacker News
comma_ndskhá thú vị. Ý tưởng hay nên tôi định sẽ thử dùng.binlên đầu$PATH.,cũng được dùng rất nhiều. Nó thường được dùng vì lý do tương tự.~/.local/bincó rất nhiều file thực thi mà tôi không nhớ nổi. Nếu tên script bắt đầu bằng dấu phẩy thì hẳn sẽ hữu ích hơn cho việc ghi nhớ.Dùng
'_'thì sao?