Se eu entendi a pergunta corretamente, você está tentando adicionar a linha
alias myname='export PATH="/path/to/bin:$PATH"'
para o seu arquivo ~/.bashrc
O tipo óbvio de echo
falhará porque $ PATH é expandido na hora errada.
Em vez disso, precisamos fazer algumas citações:
echo "alias myname='export PATH=\"/path/to/bin:\$PATH\"'" >> ~/.bashrc
Agora você diz que, por algum motivo, deseja usar printf
. Então, podemos fazer o mesmo:
printf "%s\n" "alias myname='export PATH=\"/path/to/bin:\$PATH\"'" >> ~/.bashrc
Se você quiser tratar os dois lados do =
como strings separadas:
printf "%s=%s\n" "alias myname" "'export PATH=\"/path/to/bin:\$PATH\"'" >> ~/.bashrc
E assim por diante.
( printf
só aceita um argumento de formato e, em seguida, uma lista de valores).