-1

在查看我朋友的Makefile时,我注意到他使用了installshell 命令。据我所知,该命令允许您chmod一举安装和文件。该命令出现在我们随后的一次谈话中,他说他听说该命令被认为有些过时,开发人员应该在现代项目中使用cp,mvchmod

奇怪的是,这是我唯一一次遇到这个命令。这使我相信该命令确实已被拒绝并因此被遗忘。这是真的?该程序是否存在某种安全漏洞?从我可能幼稚的角度来看,使用单个命令总是比使用多个命令更好

4

2 回答 2

1

我怀疑答案是该install命令几乎用于脚本和生成文件(例如automake@Jack Kelly 描述的生成文件),并且几乎从不交互。因此,人们很少会“越过某人的肩膀”看到它,它也不会留在他们的意识中。

然而,正如你所说,它几乎是完成这项工作的正确工具。问题是它不是POSIX 命令,所以不要使用任何非常奇特的选项是明智的。automake如果配置脚本不能说服自己本地版本足够兼容,则它在 makefile 中使用的版本由分布式 shell 脚本补充。

有关此一般主题的一些有用提示,请参阅autoconf 手册中关于可移植 shell 脚本的讨论。

于 2013-03-12T21:05:31.143 回答
0

生成的 Makefilesautomake仍然使用它,如以下行(或类似)所示:

checking for a BSD-compatible install... /usr/bin/install -c

在 的输出中configure

于 2013-03-12T20:02:41.360 回答