Usa le virgolette singole:
$ echo 'export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module' >> .bashrc
$ cat .bashrc
export PYTHONPATH=$PYTHONPATH:/path/to/new/python/module
La shell non esegue l'espansione delle variabili su stringhe con apici singoli.
Nota anche che, se stai scrivendo a ~/.bashrc
, non dovresti aver bisogno di sudo
. Un utente dovrebbe possedere il proprio ~/.bashrc
. Inoltre, come scritto, il sudo
comando operato solo su echo
. Il reindirizzamento >~/.bashrc
viene eseguito con il livello di autorizzazione dell'utente. Dal echo
non ha bisogno e non ottiene alcun beneficio da sudo
, sudo
è praticamente un no-op. [Suggerimento del cappello:tripleee]