Ответы:
Еще нет.
С помощью этой 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не должно содержать цифр. Тот, который вы можете и должны процитировать.