有没有像 MSYS 脚本文件这样的东西?

Posted

技术标签:

【中文标题】有没有像 MSYS 脚本文件这样的东西?【英文标题】:Is there such a thing as a MSYS script file? 【发布时间】:2017-12-14 23:25:55 【问题描述】:

我在 Windows 下运行 MSYS,虽然它可以工作,但我想知道是否有 MSYS 脚本文件之类的东西。

例如,要在 C 中编译 GTK 程序,我需要输入:gcc source.c -o executable.exe 'pkg-config --cflags --libs gtk+-3.0' 进行编译。有没有办法将它存储在一个文件中并从 MSYS 运行该文件,而不必每次都输入命令(例如.bat.sh 文件)?

【问题讨论】:

MSYS 应该包含 bash,所以 .sh 文件应该可以正常工作。 特别是对于编译,您可能还想查看make...如果您的项目可能会涉及多个源文件。 @lockcmpxchg8b 谢谢,我会这样做。不过,我在 MSYS 上做的比这多一点(例如 Python),但值得研究。 顺便说一句,以防万一,您可以使用 shell 的历史搜索功能。只需键入 Ctrl+R 和您键入的要再次调用的命令的几个字母。然后,您可以按 Ctrl+R 多次循环匹配该模式的不同命令。另一种解决方案是! 运算符后跟一个命令,它将调用您运行的最后一个与历史记录匹配的命令。在您的情况下,!gcc 将运行您的整个 gcc 命令。 【参考方案1】:

如果您想自动构建应用程序,只需使用构建系统即可。 Meson build system 是 GTK+ 开发人员现在推荐的(以及 GStreamer 和许多其他项目)。它是多平台的,可作为 MSYS2 中的一个包使用(我在那里使用它,就像一个魅力)。他们有一个simple Meson tutorial,在那里他们构建了一个 GTK 应用程序。那是 3 行代码。

【讨论】:

以上是关于有没有像 MSYS 脚本文件这样的东西?的主要内容,如果未能解决你的问题,请参考以下文章

MSYS shell 保持脚本文件打开,防止修改

在 MSYS 下使用 Command 在 Windows 上调用 shell 脚本

在 MSYS2/MinGW 中执行脚本

节点脚本或npm模块来检查文件是否已更改

使用 FOR /F 'MSYS' 命令的 Cmd.exe 批处理脚本颜色输出

无法在 Windows/MSYS2 下从 bash 脚本运行 MATLAB