Emacs: eshell pains
Note: eshell is similar to bash, but is not a bash emulator.
Complicated bash commands involving pipe or escape may not work in eshell, or need modification.
I recommend
Alt+x shell
if you are beginner.
Use eshell
only for simple routine unix commands, or if you are emacs expert.
[see Emacs: eshell]
Here's some random collection of problems of using eshell. (may be because i don't understand eshell)
in shell, i can run this to convert all gif to png:
find . -name "*gif" | xargs -l -i basename "{}" ".gif" | xargs -l -i convert "{}.gif" "{}.png"
but in eshell, i get this error:
convert: unable to open image `.gif': No such file or directory. convert: missing an image filename `.png'. convert: unable to open image `.gif': No such file or directory. convert: missing an image filename `.png'.
find problem?
in emacs eshell, why the following doesn't work?
find . -name "*bmp"
~/web/xahlee_org/math/i/bejeweled $ find . -name "*bmp" /usr/bin/find: paths must precede expression: x183313.bmp Usage: /usr/bin/find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
[https://plus.google.com/b/113859563190964307534/112757647855302148298/posts/f2x4JnbGsDf]
Andrew Hyatt says: Try echoing to make sure that eshell is doing what you think. Or `set-trace' the call-process
call to see what exactly is getting run.
, it works now. No idea why.