我在eshell中运行以#!/bin/sh
开头的脚本会报错,说找不到sh
的位置:
/bin/sh: command not found
我发现问题的原因在于sh
实际上是c:/msys64/usr/bin/sh
,而不是字面上的/bin/sh
,也就是说,这里需要路径转换.
msys2是通过将c:/msys64/usr/bin
挂载到了/bin
来模拟linux下的环境的, 所以,msys2的terminal和使用了cygwin-mount
的emacs可以识别这种地址的转换。
但eshell却无法在解释#!/bin/sh
时使用这种转换。
我想解决这个问题,大家有什么建议吗?