printf% q должен заключать строку в кавычки. Однако при выполнении в сценарии он удаляет пробелы.
Эта команда:
printf %q "hello world"
выводит:
hello\ world
, что правильно.
Этот сценарий:
#!/bin/bash
str="hello world"
printf %q $str
выводит:
helloworld
что неверно.
Если такое поведение действительно ожидается, какая альтернатива существует в сценарии для цитирования строки, содержащей любой символ, таким образом, чтобы ее можно было преобразовать обратно в оригинал вызываемой программой?
Спасибо.
Программное обеспечение: GNU bash, версия 4.1.5 (1) -release (i486-pc-linux-gnu)
EDITED: решено, спасибо.