.sh 文件来自命令提示符?

.sh 文件来自命令提示符?

您能.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会尝试这样做。

相关内容