首页 >> 学习 >> Shell脚本编程基础 >> exec、source与.命令
exec、source与.命令

本节重要性:★★★★☆    本节难度:★★★★★

这三个命令都是在当前的Shell中执行脚本文件中的命令,而不新建进程。

命令用途

在当前Shell中执行脚本文件中的命令。

命令格式

exec/source/. ShellScript

exec调用一个新脚本以后, 父脚本中exec行之后的内容就不会再执行了。如果在当前Shell中使用exec,执行完后将退出当前Shell,因此exec通常放在脚本里面使用,而不是直接在命令中用。

source命令或者"."命令,不会为脚本新建Shell,而只是将脚本包含的命令在当前Shell执行,执行完返回当前Shell。

下面的例子显示source和.命令在当前Shell中执行脚本文件中的命令,而sh(bash)是新建一个子Shell:

[peter@ibi98 source]$ cat test.sh
#!/bin/bash
echo $$
[peter@ibi98 source]$ echo $$		#当前Shell的PID
1602
[peter@ibi98 source]$ sh test.sh	#新建子Shell的PID
1785
[peter@ibi98 source]$ source test.sh	#当前Shell的PID
1602
[peter@ibi98 source]$ . test.sh	#当前Shell的PID
1602

exec执行结果与source和.命令一样,但执行完后退出当前Shell。

<<上一节  下一节>>