Antworten:
Noch nicht.
Mit dieser extglob
Option werden bash
einige ksh
erweiterte Globbing-Operatoren hinzugefügt, jedoch nicht der {x,y}(pattern)
eine.
In verwenden ksh93
Sie:
{5}(?)
Mit zsh
mit der extendedglob
Option:
?(#c5)
(Sie werden feststellen, dass keiner von ihnen kürzer ist als ?????
).
In bash
könnten Sie tun:
$(printf '%.0s?' {1..5})
obwohl das kaum eine Verbesserung ist und darauf beruht, $IFS
nicht zu enthalten ?
.
bash
(das würde aber auch mit ksh93 oder zsh in der sh / ksh-Emulation funktionieren). Mit bash
könnten Sie $(seq "$n" | tr -cd '\n' | tr '\n' '?')
stattdessen verwenden.
$(yes '?' | tr -cd '?' | head -c $n)
- das macht Spaß. Könnten Sie die $ IFS-Abhängigkeit nicht entfernen, indem Sie sie in "Anführungszeichen" setzen?
split+glob
Operator verwenden (wobei eine Erweiterung nicht in Anführungszeichen gesetzt wird), aber nur den glob
Teil (Sie möchten, dass dieses ?????
Muster erweitert wird, was nicht passieren würde) wenn Sie zitiert haben $(...)
). Beachten Sie, dass Sie diesen split+glob
Operator mit Ihrem nicht zitierten verwenden, $n
wodurch eine weitere Anforderung hinzugefügt wird, die $IFS
keine Ziffern enthalten darf. Das können und sollten Sie zitieren.