Nếu bạn tinh chỉnh hành vi của Bash shell với shopt
, bạn có thể kiểm soát hơn 50 cài đặt. Chúng tôi sẽ chỉ cho bạn cách điều chỉnh hệ thống Linux của bạn theo cách bạn thích.
Tích hợp sẵn trong shopt
Các shopt
tích hợp sẵn là một phần của tất cả các phiên bản của Bash shell, vì vậy không cần cài đặt bất cứ thứ gì. Số lượng các tùy chọn có sẵn trong shopt
đã tăng đều qua các năm. Vì vậy, phiên bản Bash bạn có càng cũ thì danh sách càng ngắn shopt
tùy chọn sẽ được.
Nếu có điều gì đó dường như không hoạt động trên máy của bạn, hãy kiểm tra man
mục nhập trang cho Bash và xác minh rằng tùy chọn có sẵn trong phiên bản của bạn shopt
.
Chúng tôi bao gồm tất cả shopt
các tùy chọn bên dưới. Chúng tôi cũng mô tả cách sử dụng nó và chia sẻ một số ví dụ. Từ đó, bạn có thể xem trang Bash man hoặc GNU Bash Reference Manual để xem liệu bất kỳ tùy chọn nào trong số đó đều hữu ích hoặc hấp dẫn.
Một số shopt
các tùy chọn được bật theo mặc định và tạo thành một phần của hành vi mặc định của Bash. Bạn có thể kích hoạt một shopt
như một sự thay đổi ngắn hạn đối với Bash. Sau đó, nó sẽ trở lại hành vi mặc định khi bạn đóng trình bao.
Tuy nhiên, nếu bạn muốn một hành vi được sửa đổi có sẵn bất cứ khi nào bạn khởi chạy Bash shell, bạn có thể thực hiện các thay đổi vĩnh viễn.
Các tùy chọn shopt
Có 53 shopt
các tùy chọn. Nếu bạn sử dụng shopt
lệnh không có bất kỳ tùy chọn nào, nó liệt kê những thứ này. Nếu chúng ta chuyển đầu ra thông qua wc
lệnh, nó sẽ đếm dòng, từ và ký tự cho chúng ta. Vì mỗi shopt
tùy chọn nằm trên dòng riêng của nó, số dòng là số tùy chọn.
Chúng tôi gõ như sau:
shopt | wc
Để xem tất cả các tùy chọn, chúng tôi có thể chuyển đầu ra thông qua column
để hiển thị tên tùy chọn trong các cột hoặc chúng ta có thể viết nó vào less
.
Chúng tôi gõ như sau:
shopt | column
Tìm kiếm shopt trong Hướng dẫn sử dụng Linux
Phần thảo luận shopt
và các tùy chọn của nó nằm trong phần Bash của hướng dẫn sử dụng Linux. Phần Bash dài hơn 6.000 dòng. Bạn có thể tìm thấy mô tả của shopt
với nhiều thao tác cuộn, hoặc bạn có thể tìm kiếm nó trong sách hướng dẫn.
Để làm như vậy, hãy mở sách hướng dẫn tại phần Bash:
man bash
Trong sách hướng dẫn, nhấn /
để bắt đầu tìm kiếm. Nhập nội dung sau, rồi nhấn Enter:
assoc_expand_once
Sự khởi đầu của shopt
phần tùy chọn sẽ xuất hiện trong man
cửa sổ.
LIÊN QUAN: Cách sử dụng lệnh man của Linux: Bí mật ẩn và kiến thức cơ bản
Các tùy chọn cài đặt và hủy cài đặt
Để đặt và bỏ đặt shopt
tùy chọn, sử dụng các lệnh sau:
- -S: Đặt hoặc bật.
- -u: Bỏ đặt hoặc tắt.
Vì một số tùy chọn được bật theo mặc định, nên bạn cũng có thể kiểm tra tùy chọn nào đang bật. Bạn có thể làm như vậy với -s
và -u
tùy chọn mà không cần sử dụng tên tùy chọn. Điều này gây ra shopt
để liệt kê các tùy chọn đang bật và tắt.
Nhập nội dung sau:
shopt -s
shopt -u | column
Bạn có thể sử dụng một shopt
tùy chọn mà không có -s
hoặc là -u
các lệnh để xem trạng thái bật hoặc tắt cho từng tùy chọn.
Ví dụ: chúng ta có thể nhập như sau để kiểm tra cài đặt của histverify
Lựa chọn:
shopt histverify
Chúng ta có thể gõ như sau để bật:
shopt -s histverify
Sau đó, chúng ta có thể gõ như sau để kiểm tra lại:
shopt histverify
Các histverify
tùy chọn thay đổi cách một khía cạnh của history
lệnh hoạt động. Thông thường, nếu bạn hỏi history
để lặp lại một lệnh bằng cách tham chiếu nó theo số, như !245
, lệnh được truy xuất từ lịch sử lệnh và được thực thi ngay lập tức.
Nếu bạn muốn xem lại một lệnh để đảm bảo rằng đó là lệnh bạn mong đợi và chỉnh sửa nó, nếu cần, hãy nhập dòng lệnh sau để đặt shopt histverify
tùy chọn để bật:
!245
Lệnh được truy xuất và trình bày trên dòng lệnh. Bạn có thể xóa, chỉnh sửa hoặc thực thi nó bằng cách nhấn Enter.
LIÊN QUAN: Cách sử dụng lệnh history trên Linux
Tùy chọn autocd
Với autocd
được đặt thành bật, nếu bạn nhập tên của một thư mục trên dòng lệnh và nhấn Enter, nó sẽ được coi như thể bạn đã nhập cd
trước mặt nó.
Chúng tôi nhập dòng sau để bật autocd
Lựa chọn:
shopt -s autocd
Sau đó, chúng tôi nhập tên của một thư mục:
Documents
Tùy chọn cdspell
Khi mà cdspell
tùy chọn được bật, Bash sẽ tự động sửa các lỗi chính tả và lỗi chính tả đơn giản trong tên thư mục.
Chúng tôi gõ như sau để thiết lập cdspell
Lựa chọn:
shopt -s cdspell
Để cố gắng thay đổi thành một thư mục ở dạng chữ thường phải có chữ cái đầu viết hoa, chúng tôi nhập như sau:
cd documents
Sau đó, chúng ta có thể gõ như sau để thử tên thư mục có thêm chữ “t” trong tên của nó:
cd ../Picttures
Bash thay đổi vào từng thư mục, bất kể lỗi chính tả.
Tùy chọn xpg_echo
Khi mà xpg_echo
được đặt thành bật, lệnh echo sẽ tuân theo các ký tự thoát, như n
cho dòng mới và t
cho tab ngang.
Đầu tiên, chúng tôi nhập nội dung sau để đảm bảo rằng tùy chọn được đặt:
shopt -s xpg_echo
Sau đó chúng tôi bao gồm n
trong một chuỗi mà chúng ta sẽ chuyển đến echo
:
echo "This is line onenThis is line two"
Ký tự dòng mới thoát buộc phải ngắt dòng trong đầu ra.
Điều này tạo ra hành vi tương tự như -e
(cho phép giải thích thoát) echo
tùy chọn, nhưng xpg_echo
cho phép nó là hành động mặc định.
LIÊN QUAN: Cách sử dụng lệnh Echo trên Linux
Tùy chọn dotglob
Các dotglob
tùy chọn nên được xử lý với một chút thận trọng. Nó cho phép các tệp và thư mục bắt đầu bằng dấu chấm (.
) để được đưa vào phần mở rộng tên hoặc “lấp lánh”. Chúng được gọi là “tệp chấm” hoặc “thư mục dấu chấm” và chúng thường bị ẩn. Các dotglob
tùy chọn bỏ qua dấu chấm ở đầu tên của họ.
Trước tiên, chúng tôi sẽ thực hiện tìm kiếm các tệp hoặc thư mục kết thúc bằng “geek” bằng cách nhập như sau:
ls *geek
Một tệp được tìm thấy và liệt kê. Sau đó, chúng tôi sẽ bật dotglob
tùy chọn bằng cách nhập như sau:
shopt -s dotglob
Chúng tôi phát hành giống nhau ls
lệnh tìm kiếm các tệp và thư mục kết thúc bằng “geek”:
ls *geek
Lần này hai tệp được tìm thấy và liệt kê, một trong số đó là tệp chấm. Bạn cần phải cẩn thận với rm
và mv
khi bạn có dotglob
tùy chọn được đặt thành bật.
Tùy chọn nocaseglob
Các nocaseglob
tùy chọn tương tự như dotglob
tùy chọn, ngoại trừ nocaseglob
gây ra sự khác biệt về chữ hoa và chữ thường trong tên tệp và thư mục bị bỏ qua trong phần mở rộng tên.
Chúng tôi gõ như sau để tìm kiếm các tệp hoặc thư mục bắt đầu bằng “how”:
ls how*
Một tệp được tìm thấy và liệt kê. Chúng tôi nhập dòng sau để bật nocaseglob
Lựa chọn:
shopt -s nocaseglob
Sau đó, chúng tôi lặp lại ls
chỉ huy:
ls how*
Hai tệp được tìm thấy, một trong số đó chứa các chữ cái viết hoa.
Thực hiện thay đổi vĩnh viễn
Những thay đổi chúng tôi đã thực hiện sẽ chỉ kéo dài cho đến khi chúng tôi đóng Bash shell hiện tại. Để làm cho chúng vĩnh viễn trên các phiên shell khác nhau, chúng ta cần thêm chúng vào tệp “.bashrc” của mình.
Trong thư mục chính của bạn, nhập lệnh sau để mở tệp “.bashrc” trong trình soạn thảo văn bản Gedit đồ họa (hoặc thay đổi nó cho phù hợp để sử dụng trình chỉnh sửa bạn thích):
gedit .bashrc
Các gedit
trình chỉnh sửa sẽ mở khi tải tệp “.bashrc”. Bạn sẽ thấy một số shopt
mục đã có trong đó.
Bạn có thể thêm của riêng bạn shopt
tùy chọn ở đây, là tốt. Khi bạn đã thêm chúng, hãy lưu các thay đổi của bạn và đóng trình chỉnh sửa. Bây giờ, bất cứ khi nào bạn mở Bash shell mới, các tùy chọn của bạn sẽ được thiết lập cho bạn.
Các tùy chọn xa như mắt có thể nhìn thấy
Đó là sự thật shopt
Lệnh có rất nhiều tùy chọn, nhưng bạn không cần phải nắm rõ tất cả chúng cùng một lúc, nếu có. Vì có rất nhiều nên có thể bạn sẽ không quan tâm đến một số.
Ví dụ, có một loạt buộc Bash phải hoạt động theo những cách tương thích với các phiên bản cụ thể, cũ hơn. Điều đó có thể hữu ích cho ai đó, nhưng đó là một trường hợp khá thích hợp.
Bạn có thể xem lại trang Bash man hoặc GNU Bash Reference Manual. Quyết định tùy chọn nào sẽ tạo ra sự khác biệt cho bạn và sau đó thử nghiệm với chúng. Chỉ cần cẩn thận với các tùy chọn ảnh hưởng đến cách mở rộng tên tệp và thư mục. Hãy thử chúng bằng một lệnh lành tính, như ls
, cho đến khi bạn cảm thấy thoải mái với chúng.