Я часто использую Eshell для подключения к удаленным системам. На этих удаленных системах мне иногда хочется запускать скрипты в текущем рабочем каталоге. В обычном терминале я набрал бы это:
./my-script.sh
К сожалению, внутри Eshell это не сработает:
~ $ 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 $
Это работает, только если я предоставлю полный путь TRAMP к сценарию:
/ssh:remote1:/home/rekado $ /ssh:remote1:/home/rekado/my-script.sh
It works!
/ssh:remote1:/home/rekado $
Есть ли способ убедить Eshell расширяться .
автоматически, чтобы простой вызов просто работал?
В качестве обходного пути в настоящее время я использую функцию, связанную с этим, C-c .
которая вставляет текущий полный путь в командную строку. Я бы предпочел .
просто вести себя, как ожидалось.