Практическое написание сценариев командной оболочки Bash/Bash подстановки: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 210:
В предыдущем примере, вместо ожидаемой строки <code>"one two"</code>, мы получаем только <code>"one"</code>. Здесь накладываются следующие факторы:
* Особенность работы команды <code>printf</code>, которая может принимать много аргументов: в первом аргументе должна быть форматная строка, а в каждом последующем должна быть подстановка для формата в форматной строке. Таким образом, любые строки, передаваемые в первом аргументе <code>printf</code> всегда должны заключаться в кавычки, если они имеют пробелы или символы поля <code>IFS</code>.
* Забытые кавычки вокруг второго уровня. Команда <code>printf</code> на втором уровне выполнится правильно и вернет на первый уровень строку <code>"one two"</code>. Но, так как
Обратите внимание, что эту ошибку можно исправить двумя путями:
|