Если я правильно понял вопрос, вы пытаетесь добавить строку
alias myname='export PATH="/path/to/bin:$PATH"'
в свой ~ / .bashrc
файл
Очевидный тип echo
завершится ошибкой, потому что $ PATH раскрывается в неправильное время.
Вместо этого нам нужно смешать цитаты:
echo "alias myname='export PATH=\"/path/to/bin:\$PATH\"'" >> ~/.bashrc
Теперь вы говорите, что по какой-то причине хотите использовать printf
.Итак, мы можем сделать то же самое:
printf "%s\n" "alias myname='export PATH=\"/path/to/bin:\$PATH\"'" >> ~/.bashrc
Если вы хотите рассматривать две стороны =
как отдельные строки:
printf "%s=%s\n" "alias myname" "'export PATH=\"/path/to/bin:\$PATH\"'" >> ~/.bashrc
И так далее.
( printf
принимает только один аргумент формата, а затем список значений).