Всякий раз, когда мы работаем с bash, мы используем команду echo для вывода stdout, поскольку она проста в использовании и идеально подходит для наших нужд.
Но с простотой echo связано и несколько ограничений, например, формирование вывода с помощью echo не так просто.
Поэтому Printf является эффективной альтернативой echo.
Ее можно легко использовать в bash так же, как мы используем ее в других языках программирования.
Синтаксис команды printf следующий:
printf [-v var] format [arguments]
Printf может содержать управляющие последовательности, спецификаторы формата, аргументы или обычные символы.
Например:
printf "%s\n" "Hello” “in” “bash”
Hello in bash
Другим примером команды printf является:
printf "Open points: %s\nClosed points: %s\n" “12" "21"
Open points: 12 Closed points: 65
Здесь Открытые точки: %s\nЗакрытые точки: %s\n – это формат, а 12 и 21 – аргументы.
Таким образом, есть два символа новой строки (\n) и два спецификатора формата (%s), которые заменяются аргументами при выполнении команды.
Некоторые из распространенных управляющих символов для Printf следующие:
- \n – Отображает новую строку.
- \r – Отображает возврат каретки.
- \v – Отображает вертикальную табуляцию.
- \\\ – Отображает символ обратной косой черты.
- \b – Отображает символ обратного слэша.
- \t – Отображение горизонтальной табуляции.
см. также:
- 📜 Bash – как перенаправить стандартный вывод (stdout) и стандартную ошибку (stderr ) в один и тот же файл
- 🐧 Как запускать команды Bash в фоновом режиме в Linux
- 🐧 Как читать файл построчно | скрипт Bash [3 метода]