我知道控制台应用程序使用 git bash 调用 sh.exe
但我想知道他们如何继续使用 sh
。
我经常在控制台应用程序上看到您执行 sh.exe --login
。我猜想这会在某处创建一个 session ,并且我会假设控制台应用程序会以某种方式针对它执行命令?
基本上我从 UNIX 切换到了 Windows。我尝试了很多控制台应用程序(最好是 console2
和 git-bash
),但它们仍然不适合我。
我非常恼火,以至于我想尝试用 Java 编写一个简单的 shell。 (我是一名 Java 开发人员。)
任何帮助都会非常感谢理解这一点,但在谷歌中使用 console
或 git-bash
进行搜索会产生如此多的随机噪音。
最佳答案
如果您使用的是移植到 Windows 的各种 Unix shell 之一,您应该知道这些 shell 中的大多数都使用一些试探法使 Windows 看起来像 Unix,以构建兼容性布局或为了用户方便。
例如,git
命令可能存储在 git.exe
文件中,但是从 Unix 工作站导入的 shell 脚本都说 git
所以如果 shell 没有找到 git
,它会查找 git.exe
。
这些启发式算法都无法完美运行,因此您必须预料到经常会出现不一致和分歧,尤其是当您将多个 Unix 端口混合在一起时。
至于--login
的含义,与-l
同义,主要作用是决定bash<读取哪些初始化文件
启动时`
-l Make bash act as if it had been invoked as a login shell (see
INVOCATION below).
关于windows - 使用 git bash 的自定义控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22176592/