我希望有一个函数(或可能是某种可执行文件),无论我身在何处(从任何目录)都可以通过终端调用它,并且该函数可以简单地转换单位,例如从米到英尺。这样的任务可以实现吗?我可以用 Fortran90 和 C 编写代码,前者比后者更熟悉。我在 MacOS X 平台上工作。
为了简单起见,假设我用 C 编写的函数接受一个字符串并将其打印在标准输出中:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char str[4];
strcpy(str, argv[1]);
printf("input = %s \n",str);
}
然后编译它以生成一个名为“example”的可执行文件。我希望能够全局调用此程序,以便通过执行$example abc
它将input = abc
在终端窗口中打印。我尝试将此可执行文件放在与 gcc(gfortran、gcc、g++ 等)相同的目录下,因为此路径已设置为环境变量,但它不起作用。我无法从此目录之外调用它。
答案1
要从系统中的任何位置调用它,您的应用程序必须位于变量的目录中小路。
关于终端问题:
echo "$PATH"
或者
printf "%s\n" $PATH
你会看到类似这样的内容:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
这是系统将搜索应用程序的位置列表。
将编译的应用程序移动到以下任意一个目录中:usr/local/bin
例如,启用可执行位(chmod +x) 就这样。