【问题标题】:How to write a bash script that will run on Windows and Linux如何编写将在 Windows 和 Linux 上运行的 bash 脚本
【发布时间】:2015-08-24 20:58:28
【问题描述】:

我正在编写一个 bash 脚本,以便从终端在 Windows 和 Linux 机器上执行。其中一行调用 Rscript,这是一个用于执行 .R 程序的程序。问题是在 Linux 中,命令只是 Rscipt,而在 Windows 中,它是 Rscript.exe。有什么方法可以修改程序,使其在 Windows 和 Linux 操作系统上无缝运行?

谢谢。

【问题讨论】:

  • this post。他们建议使用 Cygwin for Windows。
  • 在 Windows 中,.exe 是隐含的;您可以在不需要扩展名的情况下运行命令。但是,由于 bash 不随 Windows 一起提供,因此您不能真正编写在未修改的 Windows 上运行的 bash 脚本根本
  • ...无论如何,标准的做法是提供多个脚本:yourscript 用于 UNIX 系统,yourscript.bat(或现代化替代方案,例如使用一种可用的 WSH 语言)对于 Windows;在 Windows 上具有可执行扩展名的版本将始终在该平台上优先使用。 (在 UNIX 上,使用文件扩展名是不好的形式:文件顶部的 shebang 会告诉操作系统和行为良好的文本编辑器它的类型)。
  • 漂亮,这对查尔斯很有帮助,谢谢你提供的信息。

标签: linux windows bash rscript


【解决方案1】:

您可以使用后缀 .exe 命名任何 Unix 可执行文件,也没有问题... Linux 中的第一位是魔术位,表示文件的真实类型。

只需使用 perl 或 python 脚本,Perl 和 python 都可以在 Windows 和 Linux 上运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 2016-12-21
    • 2018-05-23
    • 2013-07-04
    • 2017-06-11
    相关资源
    最近更新 更多