如何查找系统上是否安装了less?

时间:2015-05-19 04:57:39

标签: c system

我希望在不使用system

的情况下执行以下操作
int ret = system("less -V > /dev/null 2>&1");
if (ret == 0) {
    printf("The less executable was found.\n");
}

如果系统上安装了较少的变量,我需要变量ret为0,但不使用对system的调用。可以使用exec或类似的吗?

1 个答案:

答案 0 :(得分:2)

您可以使用system("which less")来确定是否已安装less。这样可以避免在未安装less时尝试调用system。如果您根本不想使用which,则必须在程序中重新实现getenv的功能:即,使用PATH获取/less变量并尝试将stat附加到每个路径并在生成的文件上调用$scope.checkedTicketIds以确定它是否存在且是否可执行。