我刚刚从 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 ..
两件事:没有一个文件是可执行的。他们也以 这是关于什么的?
这些 .in 文件中有一些值在构建过程中被自动工具替换。它们不应该直接使用。如果您在“make install”之后查看目标目录,您将看不到任何 .in 文件。.in 是 autotools 实用程序处理的文件的标准扩展名。
首先,*nix 系统中的文件扩展名无关紧要。大多数人都遵循一些约定,但它们仅仅是约定——就是这样。
其次,如果您查看了这些文件,您会发现它们只是 bash 脚本。您可以像运行任何其他 shell 脚本一样运行它们:
$ bash /path/to/script
.如果您愿意,请使用
chmod
添加可执行位,然后您可以直接运行它们。