printf и echo — вывод текста в скриптах
шпаргалка · bash / coreutils https://lab.dimsanych.ru/ru/wiki/printf/Шпаргалка
-
printf '%s\n' "$var"надёжный вывод строки -
printf '%-10s %5d\n' name 42выравнивание -
printf '%.2f\n' 3.14159два знака после точки -
printf '%05d\n' 42ведущие нули -
printf -v v '%s' "$x"в переменную -
printf '%(%F)T\n' -1дата без date -
printf '%q\n' "$s"экранировать для shell
Ключи
У printf практически нет собственных ключей — управление идёт через строку
формата; исключение — -v, который пишет результат в переменную вместо
вывода. У echo ключи, наоборот, определяют всё поведение: -n убирает
перевод строки, -e/-E включают и выключают интерпретацию \n/\t в
аргументе — поведение по умолчанию для -e отличается между echo bash и
/bin/echo, поэтому в скриптах надёжнее printf.