我有一个脚本会向用户显示一些压缩选项(gzip,zip和bzip)。因为这是为了在Linux和Linux上运行。 Windows和Zlib库将不可用我必须使用Unix命令压缩任何文件。当然,如果脚本在Windows上运行,它可能没有任何漂亮的命令行压缩工具,因此应用程序不应该向用户显示任何选择。
所以,我想知道的是如何检查命令行工具是否存在。我可以检查可执行文件是否存在,但它根本不可靠(例如,在我的桌面上我使用Gentoo Linux并且zip
命令存在于/usr/bin
;另一方面,我的服务器它位于/bin
)。
答案 0 :(得分:3)
使用which
命令。例如,使用which zip
查找zip
所在的位置以及是否存在。它是Linux / Mac的标准配置,也可用for Windows。
答案 1 :(得分:0)
您可以为Windows编译zlib并将程序链接到它...否则您将不得不将几个程序名称硬编码到您的应用程序中,并手动解析用户的PATH变量以查找它们的安装位置。
或者,如果你想使用一个库,你可以使用glib中的这个函数: http://www.gtk.org/api/2.6/glib/glib-Miscellaneous-Utility-Functions.html#g-find-program-in-path
但是如果你在你的应用程序中使用glib,那么为windows构建zlib可能更容易。
答案 2 :(得分:0)
Zlib可以安装在上述所有操作系统上。
如果你看一下手册......
www.php.net/manual/en/zlib.installation.php
它说“Windows上对zlib的内置支持适用于PHP 4.3.0。”
默认情况下不启用Zlib,您必须在php.ini中手动启用它。要检查是否已启用zlib或任何其他模块,请参阅本教程:
www.wlscripting.com/tutorial/47