我有两台Windows计算机,并且都安装了 bash 。但是,它们在 bash 启动的方式上有所不同:
计算机1:
打字" bash"开始bash。然后我可以输入ls
等命令。
计算机2:
似乎它启动 bash 并直接在其中运行ls
,只需输入" ls"。之后,它会自动切换回CMD,如下所示:
有谁知道哪个设置启用了 machine 2 的行为?一切对我来说都是一样的。这是一个不错的功能,我也希望在 machine 1 上启用它。
答案 0 :(得分:3)
在Ubuntu上对Windows可执行文件(二进制文件)进行Bash 无法从 Windows 应用程序运行,例如cmd.exe
或PowerShell.exe
- Windows不能甚至将它们视为可执行文件。
最有可能的解释是您安装了一个单独的Unix 仿真环境,例如GnuWin ,它带有本机Windows二进制文件。
要查看您的位置 - 按照定义 Windows -native - ls
可执行文件,请运行where ls
,这可能会告诉您它附带的产品,例如
C:\Program Files (x86)\GnuWin32\bin\ls.EXE
。
请注意,Windows二进制文件上的Ubuntu以用户特定的方式存储在
中
%LOCALAPPDATA%\lxss\rootfs\bin
,但这是一个没有实际意义的点,因为你无法从Windows调用它们。
答案 1 :(得分:1)
在 Windows 10 中,有一个内置Linux子系统(Windows 10的最大功能之一)。它为您提供了用于各种发行版的几乎完整的Linux shell,您几乎可以使用它进行任何操作(用户模式)。
我敢打赌它已安装在您的第一台计算机上,并且您正在使用该子系统。在此子系统的最新版本中,您可以运行Linux可执行文件和Windows exe文件。