Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
将目录添加到execvp()的路径_C_Unix_Path_Terminal_Execvp - Fatal编程技术网

将目录添加到execvp()的路径

将目录添加到execvp()的路径,c,unix,path,terminal,execvp,C,Unix,Path,Terminal,Execvp,我正在用C编写一个类似控制台的小程序,以及ls、tac和dir的实现 我使用execvp()函数覆盖进程的分叉子进程,但当用户插入上述3个命令之一时,我必须执行自己的版本,而不是系统中的版本 我知道execvp()使用系统路径变量在不同位置搜索可执行文件。我是否可以在程序中编辑路径,以便添加自定义目录作为execvp()搜索的第一个位置 谢谢大家! 您可以使用setenv更改PATH——但是请注意,在执行exec之前,只需明确检查这些命令可能会更简单。这里有一个很好的解释:您不能只放置完整的路径

我正在用C编写一个类似控制台的小程序,以及ls、tac和dir的实现

我使用execvp()函数覆盖进程的分叉子进程,但当用户插入上述3个命令之一时,我必须执行自己的版本,而不是系统中的版本

我知道execvp()使用系统路径变量在不同位置搜索可执行文件。我是否可以在程序中编辑路径,以便添加自定义目录作为execvp()搜索的第一个位置


谢谢大家!

您可以使用
setenv
更改
PATH
——但是请注意,在执行
exec
之前,只需明确检查这些命令可能会更简单。这里有一个很好的解释:您不能只放置完整的路径吗?