Khi %
được sử dụng trong mẫu, ${variable%substring}
nó sẽ trả về nội dung variable
với thời gian ngắn nhất substring
bị xóa từ phía sau variable
.
Hàm này hỗ trợ các mẫu ký tự đại diện - đó là lý do tại sao nó chấp nhận dấu sao (dấu sao) dưới dạng thay thế cho 0 hoặc nhiều ký tự.
Cần phải đề cập rằng đây là đặc thù của Bash - các shell linux khác không nhất thiết phải chứa chức năng này.
Nếu bạn muốn tìm hiểu thêm về thao tác chuỗi trong Bash, tôi rất khuyên bạn nên đọc này trang. Trong số các chức năng tiện dụng khác, nó - ví dụ - giải thích những gì %%
làm :)
Chỉnh sửa: Tôi quên kể rằng khi nó được sử dụng trong mô hình $((variable%number))
hoặc $((variable1%$variable2))
các %
nhân vật sẽ hoạt động như khai thác modulo. DavidPostill có các liên kết tài liệu cụ thể hơn trong câu trả lời của mình.
Khi %
được sử dụng trong các bối cảnh khác nhau, nó chỉ được công nhận là ký tự thông thường.
%%
hoặc##
, vì điều đó đáng nhớ và hiếm khi đủ để tìm đúng phần một cách nhanh chóng.man bash
/##