- 论坛徽章:
- 0
|
回复 7# 王华_
shell builtin?
export 是 shell builtin么. 如果export这个命令是bash fork出来的一个子进程, 那它后面的语句为什么能让父进程shell中得环境变量改变呢?
source是个builtin, 当然可以确认它是被fork出子进程来执行的了
但是这个子进程具体在做什么? 我们不能认为source sh2.sh, 就是让sh2.sh在被fork出来执行source的这个子进程中进行的.
它的作用只是用来解析后面filename中的command来给父进程执行的
正如你所说, source归根到底, 只是个shell builtin, 它只能做自己的功能, 而不是一个shell.
source is a Unix command that evaluates the file following the command, as a list of commands, executed in the current context.
Frequently the "current context" is a terminal window into which the user is typing commands during an interactive session.
exec 和 fork才是同一个级别的概念. 其他都不是
当然shell里的exec也是个builtin, 但它的功能却是真的exec~ |
|