all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* Reasons for Switching to Eshell
@ 2008-03-29 13:45 Lorenzo Isella
  0 siblings, 0 replies; 16+ messages in thread
From: Lorenzo Isella @ 2008-03-29 13:45 UTC (permalink / raw)
  To: help-gnu-emacs

Dear All,
I am slowly discovering new features in emacs and I found out it has its 
own shell (eshell).
Now, I wonder if it is a good investment to learn how to use it. I found 
tons of tutorials online (BTW: any recommendation to start me out?), but 
I am missing the big picture.
I suppose that eshell must be perfectly integrated with emacs, but other 
than that are there reasons to give it preference with respect to .e.g BASH?
Many thanks

Lorenzo




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
       [not found] <mailman.9571.1206798351.18990.help-gnu-emacs@gnu.org>
@ 2008-03-30  1:25 ` Will Parsons
  2008-03-30  7:41 ` Tim X
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 16+ messages in thread
From: Will Parsons @ 2008-03-30  1:25 UTC (permalink / raw)
  To: help-gnu-emacs

Lorenzo Isella wrote:
> Dear All,
> I am slowly discovering new features in emacs and I found out it has its 
> own shell (eshell).
> Now, I wonder if it is a good investment to learn how to use it. I found 
> tons of tutorials online (BTW: any recommendation to start me out?), but 
> I am missing the big picture.
> I suppose that eshell must be perfectly integrated with emacs, but other 
> than that are there reasons to give it preference with respect to .e.g BASH?
> Many thanks

I'm generally quite happy using the "native" shell (whether bash or tcsh)
under Unix-type systems, but I find eshell far superior to the native
command shell under Windows.  If you work (as I do) in various
environments, I can see where one might prefer to use the same shell
everywhere, and eshell provides that ability.  (The ability to use the same
[powerful] editor under many different OS's is a prime reason why I'm an
Emacs user in the first place.)

-- 
Will


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
       [not found] <mailman.9571.1206798351.18990.help-gnu-emacs@gnu.org>
  2008-03-30  1:25 ` Reasons for Switching to Eshell Will Parsons
@ 2008-03-30  7:41 ` Tim X
  2008-03-30  8:54   ` Richard G Riley
  2008-03-30 23:13   ` William Xu
  2008-03-30 12:15 ` Mathias Dahl
  2008-03-30 12:51 ` poppyer
  3 siblings, 2 replies; 16+ messages in thread
From: Tim X @ 2008-03-30  7:41 UTC (permalink / raw)
  To: help-gnu-emacs

Lorenzo Isella <lorenzo.isella@gmail.com> writes:

> Dear All,
> I am slowly discovering new features in emacs and I found out it has its
> own shell (eshell).
> Now, I wonder if it is a good investment to learn how to use it. I found
> tons of tutorials online (BTW: any recommendation to start me out?), but I
> am missing the big picture.
> I suppose that eshell must be perfectly integrated with emacs, but other
> than that are there reasons to give it preference with respect to .e.g
> BASH?
> Many thanks

I think it depends on how you like to work. 

As you point out, it has the advantage of being more integrated with
emacs and unlike other shells, all your standard emacs commands and
keybindings still work well. You don't need to use other keybindings to
avoid keystrokes being interpreted by the shell e.g. Control-c etc.

The other way it is quite useful is that you can use elisp to interact
with your shell. For people coming from a lisp/scheme background, this
may be more natural than normal bash style interaction. 

eshell is not a good replacement for shell scripts, so if your someone
who writes lots of shell scripts, eshell isn't going to be a replacement
for bash. 

Tim


-- 
tcross (at) rapttech dot com dot au


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-30  7:41 ` Tim X
@ 2008-03-30  8:54   ` Richard G Riley
  2008-03-30 23:13   ` William Xu
  1 sibling, 0 replies; 16+ messages in thread
From: Richard G Riley @ 2008-03-30  8:54 UTC (permalink / raw)
  To: help-gnu-emacs

Tim X <timx@nospam.dev.null> writes:

>
> eshell is not a good replacement for shell scripts, so if your someone
> who writes lots of shell scripts, eshell isn't going to be a replacement
> for bash. 
>
> Tim

What PATH variable does eshell use? It doesn't seem to use my normal
debian PATH which includes ~/bin. It doesn't seem to use exec-path and I
found no reference in the info file.


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
@ 2008-03-30  9:40 Pavol Murin
  0 siblings, 0 replies; 16+ messages in thread
From: Pavol Murin @ 2008-03-30  9:40 UTC (permalink / raw)
  To: help-gnu-emacs, lorenzo.isella

>  Dear All,
>  I am slowly discovering new features in emacs and I found out it has its
>  own shell (eshell).
>  Now, I wonder if it is a good investment to learn how to use it. I found
>  tons of tutorials online (BTW: any recommendation to start me out?), but
>  I am missing the big picture.
>  I suppose that eshell must be perfectly integrated with emacs, but other
>  than that are there reasons to give it preference with respect to .e.g BASH?
>  Many thanks
>
>  Lorenzo

Now I don't know if you are already running a shell in emacs - I think
that is definitely a great idea. If for nothing else: you can search
the output of commands and save the output of a command after it was
already run. Having full emacs available in the shell is great. There
are some problems - e.g. ncurses, but that doesn't bother me
personally. YMMV.

However, this does not answer your question whether it is worth to use
eshell. I don't know that, I just use bash. If you already knew about
the benefits of running a shell, sorry for wasting your time.

muro




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
       [not found] <mailman.9571.1206798351.18990.help-gnu-emacs@gnu.org>
  2008-03-30  1:25 ` Reasons for Switching to Eshell Will Parsons
  2008-03-30  7:41 ` Tim X
@ 2008-03-30 12:15 ` Mathias Dahl
  2008-03-30 13:00   ` Michael Albinus
       [not found]   ` <mailman.9637.1206881927.18990.help-gnu-emacs@gnu.org>
  2008-03-30 12:51 ` poppyer
  3 siblings, 2 replies; 16+ messages in thread
From: Mathias Dahl @ 2008-03-30 12:15 UTC (permalink / raw)
  To: help-gnu-emacs

Lorenzo Isella <lorenzo.isella@gmail.com> writes:

> I suppose that eshell must be perfectly integrated with emacs, but
> other than that are there reasons to give it preference with respect
> to .e.g BASH?

I love eshell and the cool extra features it adds but there are some
problems with it:

 - Doing su or sudo su does not work like you expect. This works under
   the normal shell (M-x shell). I am su:ing quite much (please, no
   lectures about why this might be a bad idea) so for me this is
   annoying.

 - Programs with "GUIs" (ncurses or whatever) that uses the terminal in
   clever ways does not work very well. This applies to the normal shell
   as well. For pure command line programs both work great.

A good thing, as someone else mentioned, is that if you use eshell it
will work the same for all platforms where you use Emacs.

If the above does not scare you, you should definitely look into
Eshell. EmacsWiki has quite a lot of goodies for it.

/Mathias


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
       [not found] <mailman.9571.1206798351.18990.help-gnu-emacs@gnu.org>
                   ` (2 preceding siblings ...)
  2008-03-30 12:15 ` Mathias Dahl
@ 2008-03-30 12:51 ` poppyer
  2008-03-31  7:34   ` Tim X
  3 siblings, 1 reply; 16+ messages in thread
From: poppyer @ 2008-03-30 12:51 UTC (permalink / raw)
  To: help-gnu-emacs


Lorenzo Isella <lorenzo.isella@gmail.com> writes:

> Dear All,
> I am slowly discovering new features in emacs and I found out it has
> its own shell (eshell).
> Now, I wonder if it is a good investment to learn how to use it. I
> found tons of tutorials online (BTW: any recommendation to start me
> out?), but I am missing the big picture.
> I suppose that eshell must be perfectly integrated with emacs, but
> other than that are there reasons to give it preference with respect
> to .e.g BASH?
> Many thanks
>
> Lorenzo
>
>

I think one big problem is that ESHELL doesn't support input
redirection, such as: a.out < input.txt


-- 


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-30 12:15 ` Mathias Dahl
@ 2008-03-30 13:00   ` Michael Albinus
       [not found]   ` <mailman.9637.1206881927.18990.help-gnu-emacs@gnu.org>
  1 sibling, 0 replies; 16+ messages in thread
From: Michael Albinus @ 2008-03-30 13:00 UTC (permalink / raw)
  To: Mathias Dahl; +Cc: help-gnu-emacs

Mathias Dahl <mathias.dahl@gmail.com> writes:

>  - Doing su or sudo su does not work like you expect. This works under
>    the normal shell (M-x shell). I am su:ing quite much (please, no
>    lectures about why this might be a bad idea) so for me this is
>    annoying.

Tramp 2.1 supports it. Try "cd /sudo::" in eshell.

Maybe you need Emacs 23 for this, I haven't tried with other versions.

> /Mathias

Best regards, Michael.




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
       [not found]   ` <mailman.9637.1206881927.18990.help-gnu-emacs@gnu.org>
@ 2008-03-30 19:43     ` Mathias Dahl
  2008-03-30 20:24       ` Thierry Volpiatto
  2008-03-31 13:30       ` Christian Herenz
  0 siblings, 2 replies; 16+ messages in thread
From: Mathias Dahl @ 2008-03-30 19:43 UTC (permalink / raw)
  To: help-gnu-emacs

Michael Albinus <michael.albinus@gmx.de> writes:

>>  - Doing su or sudo su does not work like you expect. This works under
>>    the normal shell (M-x shell). I am su:ing quite much (please, no
>>    lectures about why this might be a bad idea) so for me this is
>>    annoying.
>
> Tramp 2.1 supports it. Try "cd /sudo::" in eshell.

But that only solve file editing problems, right?


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-30 19:43     ` Mathias Dahl
@ 2008-03-30 20:24       ` Thierry Volpiatto
  2008-03-30 22:29         ` Mathias Dahl
  2008-03-31 13:30       ` Christian Herenz
  1 sibling, 1 reply; 16+ messages in thread
From: Thierry Volpiatto @ 2008-03-30 20:24 UTC (permalink / raw)
  To: Mathias Dahl; +Cc: help-gnu-emacs

Mathias Dahl <mathias.dahl@gmail.com> writes:

> Michael Albinus <michael.albinus@gmx.de> writes:
>
>>>  - Doing su or sudo su does not work like you expect. This works under
>>>    the normal shell (M-x shell). I am su:ing quite much (please, no
>>>    lectures about why this might be a bad idea) so for me this is
>>>    annoying.
>>
>> Tramp 2.1 supports it. Try "cd /sudo::" in eshell.
>
> But that only solve file editing problems, right?
>

That's work just like sudo or su if you use su.
If you do do cd /su:: you are connected as root and you can use the
shell as root.
And you have the completion. 
-- 
A + Thierry
Pub key: http://pgp.mit.edu




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-30 20:24       ` Thierry Volpiatto
@ 2008-03-30 22:29         ` Mathias Dahl
  2008-03-31  8:13           ` Michael Albinus
  0 siblings, 1 reply; 16+ messages in thread
From: Mathias Dahl @ 2008-03-30 22:29 UTC (permalink / raw)
  To: Thierry Volpiatto; +Cc: help-gnu-emacs

>  That's work just like sudo or su if you use su.
>  If you do do cd /su:: you are connected as root and you can use the
>  shell as root.

Indeed it does, cool! I have to be careful not to "leave" that
directory tree however. It's easy to forget and type cd /etc or
whatever.

Neat feature however. I don't understand how it can work, how can
Tramp affect Eshell and who I am when running a certain program? Is
there code in Eshell for this?




^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-30  7:41 ` Tim X
  2008-03-30  8:54   ` Richard G Riley
@ 2008-03-30 23:13   ` William Xu
  1 sibling, 0 replies; 16+ messages in thread
From: William Xu @ 2008-03-30 23:13 UTC (permalink / raw)
  To: help-gnu-emacs

Tim X <timx@nospam.dev.null> writes:

> eshell is not a good replacement for shell scripts, so if your someone
> who writes lots of shell scripts, eshell isn't going to be a replacement
> for bash. 

Yup, that is the key point for me, not 100% compatible with bash.  It
would really give me a surprise when it doesn't work as expected.

-- 
William

http://williamxu.net9.org





^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-30 12:51 ` poppyer
@ 2008-03-31  7:34   ` Tim X
  0 siblings, 0 replies; 16+ messages in thread
From: Tim X @ 2008-03-31  7:34 UTC (permalink / raw)
  To: help-gnu-emacs

poppyer <poppyer@gmail.com> writes:

> Lorenzo Isella <lorenzo.isella@gmail.com> writes:
>
>> Dear All,
>> I am slowly discovering new features in emacs and I found out it has
>> its own shell (eshell).
>> Now, I wonder if it is a good investment to learn how to use it. I
>> found tons of tutorials online (BTW: any recommendation to start me
>> out?), but I am missing the big picture.
>> I suppose that eshell must be perfectly integrated with emacs, but
>> other than that are there reasons to give it preference with respect
>> to .e.g BASH?
>> Many thanks
>>
>> Lorenzo
>>
>>
>
> I think one big problem is that ESHELL doesn't support input
> redirection, such as: a.out < input.txt

Yes, I've been stung by this one. Ran a script that used wget to get
data from a remote site and then display it in the terminal. When run
under eshell, you don't get any output because wget was using the '-' to
redirect the data to stdout. The problem or danger is that you may run a
program that is in fact a script that relies on redirection and you
won't get the result you expect. 

Bottom line, running a script under eshell may not give you the results
you expect and is therefore a bit misleading. For manipulating files and
moving around directories, it is great as you get all that added emacs
goodies, but I'd be very careful about running scripts.

Tim



-- 
tcross (at) rapttech dot com dot au


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-30 22:29         ` Mathias Dahl
@ 2008-03-31  8:13           ` Michael Albinus
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Albinus @ 2008-03-31  8:13 UTC (permalink / raw)
  To: Mathias Dahl; +Cc: help-gnu-emacs

"Mathias Dahl" <mathias.dahl@gmail.com> writes:

> Neat feature however. I don't understand how it can work, how can
> Tramp affect Eshell and who I am when running a certain program? Is
> there code in Eshell for this?

See eshell-external-command (in esh-ext.el). Eshell checks for a file
name handler of shell-command, depending on default-directory. If it
is found, that file name handler is called - tramp-handle-shell-command
in this case.

Your identity is always the one of default-directory. Btw, it works
also when you jump to a real remote host like "/ssh:user@host:".

The commands id and hostname might help you when you are lost. And
there is also the prompt, which shows default-directory by default.

Best regards, Michael.





^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-30 19:43     ` Mathias Dahl
  2008-03-30 20:24       ` Thierry Volpiatto
@ 2008-03-31 13:30       ` Christian Herenz
  2008-03-31 14:56         ` Michael Albinus
  1 sibling, 1 reply; 16+ messages in thread
From: Christian Herenz @ 2008-03-31 13:30 UTC (permalink / raw)
  To: help-gnu-emacs

Mathias Dahl schrieb:
> Michael Albinus <michael.albinus@gmx.de> writes:
> 
>>>  - Doing su or sudo su does not work like you expect. This works under
>>>    the normal shell (M-x shell). I am su:ing quite much (please, no
>>>    lectures about why this might be a bad idea) so for me this is
>>>    annoying.
>> Tramp 2.1 supports it. Try "cd /sudo::" in eshell.
> 
> But that only solve file editing problems, right?

What exactly is Tramp? An additional script?

Greets,
Christian


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: Reasons for Switching to Eshell
  2008-03-31 13:30       ` Christian Herenz
@ 2008-03-31 14:56         ` Michael Albinus
  0 siblings, 0 replies; 16+ messages in thread
From: Michael Albinus @ 2008-03-31 14:56 UTC (permalink / raw)
  To: Christian Herenz; +Cc: help-gnu-emacs

Christian Herenz <herenz@physik.hu-berlin.de> writes:

> What exactly is Tramp? An additional script?

<http://www.gnu.org/software/tramp/>

> Greets,
> Christian

Best regards, Michael.

(Greetings also to HUB, where I've finished my studies 25 years ago)





^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2008-03-31 14:56 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.9571.1206798351.18990.help-gnu-emacs@gnu.org>
2008-03-30  1:25 ` Reasons for Switching to Eshell Will Parsons
2008-03-30  7:41 ` Tim X
2008-03-30  8:54   ` Richard G Riley
2008-03-30 23:13   ` William Xu
2008-03-30 12:15 ` Mathias Dahl
2008-03-30 13:00   ` Michael Albinus
     [not found]   ` <mailman.9637.1206881927.18990.help-gnu-emacs@gnu.org>
2008-03-30 19:43     ` Mathias Dahl
2008-03-30 20:24       ` Thierry Volpiatto
2008-03-30 22:29         ` Mathias Dahl
2008-03-31  8:13           ` Michael Albinus
2008-03-31 13:30       ` Christian Herenz
2008-03-31 14:56         ` Michael Albinus
2008-03-30 12:51 ` poppyer
2008-03-31  7:34   ` Tim X
2008-03-30  9:40 Pavol Murin
  -- strict thread matches above, loose matches on Subject: below --
2008-03-29 13:45 Lorenzo Isella

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.