【发布时间】: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