Có thể các bác giàu kinh nghiệm trên đây đều đã biết tip này nhưng
newbie thì chưa chắc.
Nếu các bác đã hoặc đang dùng Ubuntu, nhất là các phiên bản mới hơn
sau này, thì chắc đã từng cảm thấy cuộc sống này thật tuyệt vời với
tính năng completion của nó:

VD: "apt-get in[TAB] gpts[TAB]" => "apt-get install gptsync"
hay "man apt-g[TAB]" => "man apt-get"

Giống như ma thuật vậy.

Tuy nhiên khi chuyển từ Ubuntu sang các hđh khác (như Fedora hay Arch,
Mac OS X) thì hắn nhiều người đã vô cùng thất vọng khi nhấn tab điên
cuồng mà chẳng thấy gì hiện ra, bash chỉ có thể điền tên file bị thiếu
mà không thể điền được các argument như trong Ubuntu.

VD: "yum ins[TAB]" => vô dụng nhưng "ls /u[TAB]/sh[TAB]" thì lại được.

Em đã để ý hiện tượng này từ lâu nhưng không biết cách giải quyết và
phải để mãi đến ngày hôm nay mới phát hiện ra chức năng này của Ubuntu
cũng chẳng có gì quá cao siêu: nó được thực hiện nhờ một script tên là
/etc/bash_completion. Có rất nhiều script nhỏ trong
/etc/bash_completion.d/ để hỗ trợ nhiều dạng lệnh khác nhau.
Hay hơn nữa là không chỉ Ubuntu mới có script này, Fedora cũng có
(chắc nhiều distro khác cũng vậy) nhưng họ không sử dụng ngay từ đầu
mà người dùng phải tự cài đặt gói bash-completion. Với MacOS thì có
thể cài qua MacPorts
http://mult.ifario.us/p/getting-bash-completion-magic-on-os-x

Thật kỳ lạ là một gói phần mềm nhỏ mà có ích như vậy lại không được
cài đặt sẵn trong các distro thông dụng.
_______________________________________________
POST RULES : http://wiki.hanoilug.org/hanoilug:mailing_list_guidelines
_______________________________________________
HanoiLUG mailing lists: http://lists.hanoilug.org/
HanoiLUG wiki: http://wiki.hanoilug.org/
HanoiLUG blog: http://blog.hanoilug.org/

Trả lời cho