I often use Eshell to connect to remote systems. On those remote systems I sometimes want to run scripts in the current working directory. In a regular terminal I'd type this:
Unfortunately, inside of Eshell this won't work:
~ $ cd /remote1:~ /ssh:remote1:/home/rekado $ ./my-script.sh env: /ssh:remote1:/home/rekado/my-script.sh: No such file or directory /ssh:remote1:/home/rekado $
It only works if I provide the complete TRAMP path to the script:
/ssh:remote1:/home/rekado $ /ssh:remote1:/home/rekado/my-script.sh It works! /ssh:remote1:/home/rekado $
Is there a way to convince Eshell to expand
. automatically such that the simpler invocation just works?
As a workaround I currently use a function bound to
C-c . that inserts the current full path on the command line. I'd much prefer to have
. just behave as expected.