2013-04-10 13 views
5

Ho installato emacs in ubuntu (usando sudo apt-get install emacs). Sono Havine il problema che quando si tenta di eseguire un comando di shell dall'interno di emacs (ad esempio M-! ls) l'uscita è preceduto da questo:Come eseguire comandi shell in emacs su ubuntu evitando un errore di controllo del lavoro bash?

bash: cannot set terminal process group (-1): Invalid argument 
bash: no job control in this shell 

Nel mio .emacs ho la possibilità (setq shell-command-switch "-ic"). Questo è così che posso usare presumibilmente i miei alias e anche i comandi. Questo non mi ha dato problemi sul lavoro e mi permette di usare i miei pseudonimi. Come posso usare i miei alias ma evitare questo problema?

+0

Si scrive che si utilizza 'M-x ls' per eseguire un comando di shell ma AFAIK che non è un comando standard. I comandi della shell possono essere eseguiti tramite ad es. 'M-!' O 'M-x shell'. Quei lavori per te? –

+0

Possibile duplicato di http://stackoverflow.com/questions/11821378/what-does-bashno-job-control-in-this-shell-mean – devnull

+0

@ N.N.sorry che era un errore di battitura..Io intendevo il normale M-! roba che non funziona. –

risposta

0

Immagino che impostando il tuo commutatore di shell in questo modo, stai eseguendo percorsi di codice nel tuo .profile o profilo di sistema che dipendono dal controllo del lavoro nelle shell.

vorrei correggere questo errore definendo gli alias necessari nei percorsi di codice corretto in modo che che appaiono in conchiglie che non sono iniziati con -i

Si potrebbe provare a scambiare -i con --rcfile .aliases o qualcosa di simile in modo che alias in emacs non differisce da alias nelle shell di accesso. Se il vostro .bashrc ha cose importanti per il vostro lavoro, creare un file come .bashrc.emacs con il contenuto

source .bashrc 
source .aliases 

e puntare a quel file con il --rcfile .bashrc.emacs nella vostra istruzione (setq).

Dove hai definito il tuo alias? Ubuntus .bashrc legge .bash_aliases e ciò dovrebbe accadere anche a shell non interattive.

Problemi correlati