如何创建启动 Bash 并运行命令的 Windows 快捷方式?

如何创建启动 Bash 并运行命令的 Windows 快捷方式?

我创建了一个 Windows 快捷方式,其目标如下

"C:\Windows\System32\bash.exe" php /c/script.php

(我知道我可以使用我的 Windows 版本的 php cli 来运行它,但出于好奇)

当我单击我的快捷方式时,它只会弹出一个 cmd 窗口并关闭(其中脚本需要几分钟才能运行。

有没有办法将命令通过管道传送到 Windows 上的 bash.exe?

答案1

如果这是 WSL,请使用bash.exe -c“要运行的命令”如同

C:\Windows\System32\bash.exe -c “vi ~/.bashrc”

或者

C:\Windows\System32\bash.exe -c “php /mnt/c/script.php”

答案2

首先,bash.exe 已被弃用。您应该wsl.exe在命令行中使用。使用 Windows Insiders Builds 17063 及以上版本来实现 WSL 中的互操作性功能。对于您的情况,这两种方法都可能有效:

wsl.exe php /mnt/c/MyFiles/test.php
wsl.exe --exec php /mnt/c/MyFiles/test.php

以下是wsl.exe使用信息:

用法:wsl.exe [参数] [选项...] [命令]

运行 Linux 二进制文件的参数:

If no command line is provided, wsl.exe launches the default shell.

--exec, -e <Command>
    Execute the specified command without using the default Linux shell.

--
    Pass the remaining command line as is.

更多详细信息,请阅读WSL 与 Windows 的互操作性

相关内容