Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 让程序按命令运行_C_Linux - Fatal编程技术网

C 让程序按命令运行

C 让程序按命令运行,c,linux,C,Linux,我是新来的,如果这是一个愚蠢/糟糕的问题,我很抱歉,但我就是不知道该怎么做 那么如何将c程序链接到命令呢。例如,假设我有helloworld.c,我输入了make helloword,然后想运行命令helloworld,在系统的任何地方运行helloworld。我该怎么做(不使用bash别名)。编译程序并将其作为可执行文件链接到a.out gcc helloworld.c 执行该文件 ./a.out 假设helloworld可执行文件位于home文件夹的newDir目录中 然后hellowo

我是新来的,如果这是一个愚蠢/糟糕的问题,我很抱歉,但我就是不知道该怎么做


那么如何将c程序链接到命令呢。例如,假设我有helloworld.c,我输入了make helloword,然后想运行命令helloworld,在系统的任何地方运行helloworld。我该怎么做(不使用bash别名)。

编译程序并将其作为可执行文件链接到
a.out

gcc helloworld.c
执行该文件

./a.out

假设
helloworld
可执行文件位于
home
文件夹的
newDir
目录中

然后
helloworld
的绝对路径是
/home/user\u name/newDir/helloworld

现在将下面的行添加到
~/.bashrc
文件中

export PATH=$PATH:/home/user_name/newDir/
现在打开任何新终端(任何目录),您将能够运行命令
helloworld

在中添加可执行文件的路径将允许用户在系统中的任何位置运行上述目录中可用的可执行文件。用
echo$PATH
检查
$PATH
的值。它可能包含大多数系统可执行文件所在的系统目录
/usr/bin
/bin
。但是,不要在这些目录中添加您自己的程序,从而弄乱这些目录(让您自己处理它们)

您可能希望避免使用太长的
路径
环境变量;然后,假设在
$PATH
中提到了
$HOME/bin/
目录,您可以在那里添加一个符号链接,例如

ln -sv /home/user_name/newDir/helloworld $HOME/bin/helloworld

您可以使用./(outputfilename)运行它 因此,为了分配名称,我们使用注释gcc-o desiredOPname filename.c
然后以./desiredOPname

的形式运行它,这在linux环境中更像是一个问题。存在路径(为当前用户和系统上的所有用户设置)。将搜索这些路径以查找名称(“helloworld”)如果
helloworld
被放在一个被搜索的目录中,它将对每个人都可用。如果这些目录被修改为包含一个新的目录,那么helloworld可以添加到那里。这不是OP的解决方案,因为它说“如何将c程序链接到命令?”