Как отмечали другие, символ % является особым для printf.
Если вы просто хотите распечатать строку как есть, дайте printf %s как первый аргумент и строка, заключенная в одинарные кавычки, в качестве второго аргумента:
printf %s '
Different characters can be represented and supported
in the printf command, for example:
x-y, X+Y, –, +, <, >, %, $, #, &.
'
Использование одинарных кавычек вместо двойных кавычек останавливает оболочку от интерполяции символов, таких как $.
Это было исправлено в обновлении Unity: https://bugs.launchpad.net/ubuntu/+source/unity/+bug/869196
Обновление было перенесено на oneiric-updates .