Câu trả lời:
Chưa.
Với extglob
tùy chọn, bash
thêm một số ksh
toán tử toàn cầu mở rộng nhưng không phải là toán tử {x,y}(pattern)
.
Trong ksh93
, bạn sử dụng:
{5}(?)
Với zsh
với extendedglob
tùy chọn:
?(#c5)
(bạn sẽ nhận thấy không ai trong số họ ngắn hơn ?????
mặc dù).
Trong bash
, bạn có thể làm:
$(printf '%.0s?' {1..5})
mặc dù đó hầu như không phải là một cải tiến và dựa vào việc $IFS
không chứa ?
.
bash
(cái đó cũng sẽ hoạt động với ksh93 hoặc zsh trong mô phỏng sh / ksh). Với bash
, bạn có thể sử dụng $(seq "$n" | tr -cd '\n' | tr '\n' '?')
thay thế.
$(yes '?' | tr -cd '?' | head -c $n)
- đây là niềm vui. Ngoài ra, bạn không thể loại bỏ sự phụ thuộc $ IFS bằng cách đặt nó vào "dấu ngoặc kép"?
split+glob
toán tử (không mở rộng phần mở rộng) nhưng chỉ glob
phần (bạn muốn ?????
mở rộng mô hình đó, điều đó sẽ không xảy ra nếu bạn trích dẫn $(...)
). Lưu ý rằng bạn sử dụng split+glob
toán tử đó với trích dẫn của bạn $n
mà thêm yêu cầu khác $IFS
không được chứa chữ số. Đó là một trong những bạn có thể và nên trích dẫn.