How can I repeat the character -
n times in shell? I have read and tried this, but this does not work for -
. It throws error invalid option
. Below is the exact command that I used:
printf '-%.0s' {1..100}
Original posted line: printf '-%0.s' {1..100}
I also tried escaping -
by putting a \
but in that case it repeats \-
n times.
This throws an error:
$ printf '-%.0s' {1..100}; echo ""
bash: printf: -%: invalid option
printf: usage: printf [-v var] format [arguments]
This works fine under bash
:
$ printf -- '-%.0s' {1..100}; echo ""
----------------------------------------------------------------------------------------------------
For other shells, try:
printf -- '-%.0s' $(seq 100); echo ""
The problem was the printf
expects that -
starts an option. As is common among Unix/POSIX utilities in this type of situation, --
signals to printf
to expect no more options.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With