Вы можете использовать аргумент end of options (--
), чтобы printf
интерпретировать тире буквально:
printf -v var -- '-x=%s' "$x"
Выход:
$ x=xxx && printf -v var -- '-x=%s' "$x" && echo $var
-x=xxx
Вы можете делать то, что хотите, используя «Наложения дерева устройств» для динамического добавления и удаления записей из дерева устройств во время выполнения.