Ответы:
Еще нет.
С помощью этой extglob
опции bash
добавляются некоторые ksh
расширенные операторы глобирования, но не {x,y}(pattern)
один.
В ksh93
, вы используете:
{5}(?)
С zsh
с extendedglob
опцией:
?(#c5)
(вы заметите, что ни один из них не короче, чем ?????
хотя бы).
В bash
, вы можете сделать:
$(printf '%.0s?' {1..5})
хотя это вряд ли улучшение и полагается на $IFS
не содержать ?
.
bash
(с этим также можно работать с ksh93 или zsh в эмуляции sh / ksh). С bash
, вы можете использовать $(seq "$n" | tr -cd '\n' | tr '\n' '?')
вместо.
$(yes '?' | tr -cd '?' | head -c $n)
- это весело. Кроме того, не могли бы вы удалить зависимость $ IFS, поместив ее в «кавычки»?
split+glob
оператор (оставляя расширение без кавычек), но только glob
часть (вы хотите, чтобы этот ?????
шаблон был расширен, что не произойдет если вы цитировали $(...)
). Обратите внимание, что вы используете этот split+glob
оператор в кавычках, $n
что добавляет еще одно требование, которое $IFS
не должно содержать цифр. Тот, который вы можете и должны процитировать.