4

I want to source some shell scripts in c using exec().

What is source ? is that a binary executable or a shell script ? where can i find that in linux file system ?

I ran

charan@PC-113:~$ which source 

charan@PC-113:~$
4

2 回答 2

10

它是一个内置的 shell 命令,如cd, exit, pwd...:

$ enable -p | grep source
enable source

请注意,它enable -p显示了所有内置函数。启用手册页中的更多信息。

更新

刚刚在 SuperUser 中看到一个非常有趣的帖子:source 是做什么的?

$ type source
source is a shell builtin

更新 2 - Tony D的评论

@SIGSEGV:有时命令可以实现为外部(非shell)可执行文件,但一些shell仍然希望提供自己的实现......可能具有不同的行为,可能只是为了使其更快。test 和 pwd 就是这样的例子。例如,shell 可以使用 getcwd() 获取其当前工作目录,但如果它运行单独的可执行文件而不更改该可执行文件的当前目录,并且可执行文件运行 getcwd() - 它仍然有效。

于 2013-07-05T11:12:33.197 回答
2

您可以将source视为.linux 中的运算符。

于 2013-07-05T11:16:42.457 回答