Linux 脚本:'./path/to/anotherscript'

Linux 脚本:'./path/to/anotherscript'

我有一个脚本文件,它以这种方式引用另一个脚本文件(包含一些函数):

. "${scripts_dir}/update.sh"

在 Linux 脚本中它是什么意思?

它是否在 update.sh 中加载代码以便现在可以调用它?

答案1

.是一个命令(!)来源指示的脚本。执行意味着执行脚本,但在当前正在运行的 shell 上下文中。如果你“正常”地从另一个脚本执行脚本,那么一个单独的 shell 实例(称为子壳) 用于执行第二个脚本。

这通常用于在第二个脚本中设置一些 shell 变量或环境变量、定义函数或别名等。在“正常”执行的情况下,它们不会被传回第一个脚本,但通过采购是可能的。

如果在第二个脚本中使用该命令,则还会出现一个重要的区别exit。在“正常”执行的情况下,这将结束第二个脚本(准确地说,退出执行第二个脚本的 shell,这显然会导致脚本终止),但第一个脚本在调用第二个脚本后从下一个命令继续运行。但是,如果exit在第二个脚本中使用,它会在此时结束两个脚本(因为它退出了正在执行第一个脚本的 shell)。

相关内容