Пункт меню Grub: автоматический поиск vmlinuz и initrd.img

 printf "> %s < " 1 2 3

будет печатать

 > 1 <> 2 <> 3 <

  printf "> %s %s <" 1 2 3

печатает

 > 1 2 <> 3  <

printf съедает все аргументы, чтобы удовлетворить свою строку формата а затем повторяется, пока не будут обработаны все аргументы.

Второй скрипт работает, потому что только $ a когда-либо назначается, и поэтому команда не переполняется на дополнительные итерации (есть только одна итерация).


Такое поведение задокументировано в тексте, предоставленном с помощью help printf :

... Формат повторно используется по мере необходимости для использования всех аргументов . Если меньше аргументов, чем требует формат, дополнительные спецификации формата ведут себя так, как если бы было предоставлено нулевое значение или пустая строка, в зависимости от ситуации, . ...

и санкционировано http://pubs.opengroup.org/onlinepubs/9699919799/utilities/printf.html

1
11.12.2017, 20:22
0 ответов

Теги

Похожие вопросы