您能.sh
使用这些程序中的任何一个从 Windows 命令提示符调用文件吗?
例如:
msys myscript.sh
或者
c:\temp\msys.exe myscript.sh
可以吗?因为我想在我的某个系统上批量运行 .sh 脚本。
答案1
msys.exe
是 Unix 命令行工具的众多端口之一。我还没有用过它,但它msys.exe
似乎是安装包,所以您需要运行并配置它。如果您想让这些工具随时可用,而安装程序却没有这样做,您需要将安装目录添加到您的PATH
变量中。
要解释 shell 脚本,您需要bash
,因此在您的示例中,您需要输入:
bash -c myscript.exe
如果所有脚本都以 结尾.sh
(在 Unix 中不需要特定的扩展名,通常也没有),您可以将扩展名.sh
与关联bash
,这样您只需键入或双击脚本名称即可。
或者,您可以bash
以交互方式运行,而不是cmd
,然后所有命令将像在 Unix 上一样运行。
需要注意两点:-
- 如果脚本是从 Unix 导入的,它们将解释正确,但如果它们调用 Windows 中不存在或具有不同功能的命令或资源,将无法运行。
- Unix 使用
/
和 作为目录分隔符-
来表示命令选项,而 Windows 使用\
和/
。一些 Unix 命令端口试图同时适应这两种风格,但由于/
有两种不同的含义,这必然是一个糟糕的折衷方案。我不知道是否msys
会尝试这样做。