У меня есть следующая строка:
printf "---- %.55s\n" "$1 --------------"
Когда я запускаю это под Bash, я получаю следующую ошибку:
printf: -: неверная опция printf: использование: printf [-v var] формат [аргументы]
Это потому, что (я думаю) printf интерпретирует строку «----» как начало аргумента. Я пытался избежать этого с помощью "\", например, так:
printf "\---- %.55s\n" "$1 --------------"
Ниже приводится результат:
\---- content of $1 -------
Как вы можете видеть, «\» стал частью вывода, что не то, что я хочу.
Итак, вопрос в том, как я могу убедить printf, что я не пытаюсь передать длинный аргумент?