我有两台 Windows 机器,都安装了 bash。但是,它们在 bash 启动方式上有所不同:
机器 1:
键入“bash”启动 bash。然后我可以输入像 ls
这样的命令。
机器 2:
它似乎启动了 bash 并直接在其中运行 ls
,只需键入“ls”。之后它会自动切换回 CMD,如下所示:
有谁知道哪个设置启用了机器 2 的行为?对我来说一切看起来都一样。这是一个不错的功能,我也想在机器 1 上启用它。
最佳答案
Bash on Ubuntu on Windows 可执行文件(二进制文件)不能从 Windows 应用程序(例如 cmd.exe
或 )运行PowerShell.exe
- Windows 甚至不将它们视为可执行。
最可能的解释是您安装了单独的 Unix 仿真 环境,例如 GnuWin ,它随 native Windows 二进制文件一起提供。
要查看您的 - 根据定义 Windows-native - ls
可执行文件的位置,请运行 where ls
,它可能会告诉您什么它附带的产品,例如
C:\Program Files (x86)\GnuWin32\bin\ls.EXE
。
请注意,Windows 上的 Ubuntu 二进制文件以用户特定的方式存储在
%LOCALAPPDATA%\lxss\rootfs\bin
,但这是一个有争议的问题,因为您不能从 Windows 调用它们。
关于windows - 如何在 Windows CMD 中启用 bash 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41762420/