如何自动从 Windows 向 Linux (WSL/Ubuntu) 发送命令?

NS工作室

我想通过运行 Ubuntu 20 的 WSL 自动为 Linux 编译我的程序,以便我可以设置一个 IDE 任务 Windows 端,它将在 Linux 上为我进行编译。我想制作一个 win32 应用程序来启动 Ubuntu 可执行文件并将命令发送到它的标准输入,就像我手动输入它们一样,但由于 Ubuntu 是 UWP,我认为这是不可能的?自动化脚本的参数将是主源文件目录的路径、主源文件名以及 1 到 4-5 个其他开关的任何位置。我希望自动化是沉默的。自动命令示例:

cd /mnt/<provided path>
compiler -switch1 -switch2 -switch3 -out <provided executable file name> <provided source file name>

由于 .bashrc 中设置了环境变量,因此可以从任何地方访问编译器。

NotTheDr01ds

老实说,bash.exe在意识到它是推荐的(过时的)之前,我过快地扫描答案后答案进行了投票bash.exe因此,我将提供我希望的“更好的答案”。

请注意,bash.exeMicrosoft 将其列为“历史命令”,在我看来,这仅比“已弃用”高出一步。

当前推荐的启动 WSL 实例的方法是使用wsl.exe命令(或仅wsl在从 PowerShell、CMD 或任一解释器下的脚本调用时)。例如(使用bash.exe上一个问题示例):

给定一个文件/mnt/c/Temp/your_script.sh(当然设置为可执行文件),其中包含:

#!/usr/bin/env bash
echo Hello
cd /home
pwd

然后wsl -e "/mnt/c/Temp/your_script.sh"(在 PowerShell 中)将执行该文件并导致:

Hello
/home

wsl-e(也--exec)参数将其后的任何命令作为默认 shell 运行。所以wsl -e ls会在不调用bash(甚至不调用sh)的情况下进行目录列表

该家当-IN-A-脚本方法是运行命令的一种方式 bash,但你也可以调用命令(或命令),如:

wsl -e bash -c "echo Hello; cd /home; pwd"

但是,请注意:

echo "echo Hello; cd /home; pwd" | wsl

工作,至少在PowerShell中,因为PowerShell有追加回车(恼人的“特征” \r)到任何输出管道输送到控制台可执行文件如wsl.exe

除其他功能外,wsl.exe还可以:

  • 在不同的 WSL 实例中启动或运行命令,如果您安装了多个发行版或实例(例如wsl -d kali
  • 以没有密码的不同用户身份启动或运行命令(例如wsl -u root visudo

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows与Linux对话或向Linux发送命令

来自分类Dev

从Ubuntu向Windows发送命令

来自分类Dev

从Ubuntu向Windows发送命令

来自分类Dev

如何通过名称向机器人发送命令?

来自分类Dev

向Telnet发送命令

来自分类Dev

向函数发送命令

来自分类Dev

如何在Python中使用'os.system('command')'向CMD发送命令列表

来自分类Dev

如何在Python中使用'os.system('command')'向CMD发送命令列表

来自分类Dev

如何正确设置IBM Bluemix Node-RED Iotout节点以向设备(Arduino)发送命令?

来自分类Dev

如何向 Chromium 调试器发送命令(设置断点)?

来自分类Dev

从MacVim向终端发送命令

来自分类Dev

向HSM发送命令时发出

来自分类Dev

向运行 Python 脚本发送命令

来自分类Dev

如何打开 .exe(不是 Windows 命令行)文件并向其发送命令?

来自分类Dev

如何在不知道标识符的情况下向聚合发送命令?

来自分类Dev

如何发送命令到python脚本?

来自分类Dev

Rcon向服务器发送命令

来自分类Dev

从vim向父tmux会话发送命令

来自分类Dev

向多个远程桌面会话发送命令

来自分类Dev

Rcon向服务器发送命令

来自分类Dev

在 UWP 中向串行设备发送命令

来自分类Dev

从 shell 向 emacs 守护进程发送命令

来自分类Dev

R:向Windows的cmd发送多个命令

来自分类Dev

如何从命令行向Windows 10计算机发送通知

来自分类Dev

通过pexpect发送命令时如何避免冗余?

来自分类Dev

如何在AutoHotKey中延迟发送命令?

来自分类Dev

如何直接从Windwos CMD向我的程序发送命令?

来自分类Dev

如何通过Java中的cmd发送命令?

来自分类Dev

.bat文件关闭时,我将如何发送命令?

Related 相关文章

热门标签

归档