为什么 mesos 二进制文件有一个“in”扩展

为什么 mesos 二进制文件有一个“in”扩展

我刚刚从 apache repo 下载了 mesos。这是 bin 目录:

$ ll bin
total 92
-rw-r--r--.  1 stack stack 1769 Jul 17 23:14 valgrind-mesos-tests.sh.in
-rw-r--r--.  1 stack stack 1769 Jul 17 23:14 valgrind-mesos-slave.sh.in
-rw-r--r--.  1 stack stack 1772 Jul 17 23:14 valgrind-mesos-master.sh.in
-rw-r--r--.  1 stack stack 1769 Jul 17 23:14 valgrind-mesos-local.sh.in
-rw-r--r--.  1 stack stack 1026 Jul 17 23:14 mesos-tests.sh.in
-rw-r--r--.  1 stack stack  901 Jul 17 23:14 mesos-tests-flags.sh.in
-rw-r--r--.  1 stack stack 1019 Jul 17 23:14 mesos-slave.sh.in
-rw-r--r--.  1 stack stack 1721 Jul 17 23:14 mesos-slave-flags.sh.in
-rw-r--r--.  1 stack stack 1366 Jul 17 23:14 mesos.sh.in
-rw-r--r--.  1 stack stack 1026 Jul 17 23:14 mesos-master.sh.in
-rw-r--r--.  1 stack stack  858 Jul 17 23:14 mesos-master-flags.sh.in
-rw-r--r--.  1 stack stack 1023 Jul 17 23:14 mesos-local.sh.in
-rw-r--r--.  1 stack stack  935 Jul 17 23:14 mesos-local-flags.sh.in
-rw-r--r--.  1 stack stack 1466 Jul 17 23:14 lldb-mesos-tests.sh.in
-rw-r--r--.  1 stack stack 1489 Jul 17 23:14 lldb-mesos-slave.sh.in
-rw-r--r--.  1 stack stack 1492 Jul 17 23:14 lldb-mesos-master.sh.in
-rw-r--r--.  1 stack stack 1489 Jul 17 23:14 lldb-mesos-local.sh.in
-rw-r--r--.  1 stack stack 1498 Jul 17 23:14 gdb-mesos-tests.sh.in
-rw-r--r--.  1 stack stack 1527 Jul 17 23:14 gdb-mesos-slave.sh.in
-rw-r--r--.  1 stack stack 1530 Jul 17 23:14 gdb-mesos-master.sh.in
-rw-r--r--.  1 stack stack 1521 Jul 17 23:14 gdb-mesos-local.sh.in
drwxr-xr-x.  2 stack stack 4096 Jul 17 23:21 .
drwxr-xr-x. 10 stack stack 4096 Jul 17 23:21 ..

两件事情:没有任何的文件都是可执行的。它们以 这是关于什么的?

答案1

这些 .in 文件中有一些值,这些值在构建过程中会被自动工具替换。它们不应该被直接使用。如果您在“make install”之后查看目标目录,您将看不到任何 .in 文件。.in 是自动工具实用程序处理的文件的标准扩展名。

答案2

首先,*nix 系统中的文件扩展名无关紧要。大多数人都会遵循一些惯例,但它们仅仅是惯例而已 - 仅此而已。

其次,如果您查看了这些文件,就会发现它们只是 bash 脚本。您可以像运行任何其他 shell 脚本一样运行它们:$ bash /path/to/script

如果您愿意,可以使用chmod添加可执行位,然后可以直接运行它们。

相关内容