Shell教程5,export/source/exec函数

介绍Shell中常见的函数export/source/exec等。 Modified: 2023-07-18 22:28:26 Created: 2021-08-22 09:50:08 Tags: #linux #shell

本文主要介绍 export/exec/source/.函数的使用

1. linux 登陆时候的 shell

linux 系统登陆时候的 shell 是一个进程。在这个进程中运行其它 shell 脚本,则会开启新的进程。 在新的进程中运行的 shell,其变量是没有没有办法被父进程(当前 shell)直接读取的。这时候可以用 export 或者 source 的方式来读取。

source 会在当前进程运行脚本,而不是新开一个。

一般修改环境变量之后,如修改~/.bashrc之后,需要运行source ~/.bashrc来使得其中的环境变量生效。 而在~/.bashrc中添加环境变量的方式就是export VAR=value

实际上,source命令又可以用点.来代替。

2. exec 命令

那么exec又是什么?exec是另外一条命令。

exec 执行完成之后,就会退出当前 shell。

使用sh或者bash执行的方式,则会新开一个线程,在新的线程中执行。 使用source或者.的方式,则不会新开线程。只是在当前线程中从上往下执行代码。

如果去网上搜索 linux shell exec,很容易找到 exec 函数族的信息。区别就是 exec 函数族介绍的是 exec 这一类可以用在 c++中的代码。而不是讲的 linux 的命令,虽然他们之间有千丝万缕的联系。

3. export

使用 export 命令时候,则可以将子进程中的变量,让父进程也能访问到。

总结

本文介绍了shell中的三个函数的使用: source/. 会在当前进程中执行命令;exec会在新的进程中执行命令;export用于扩展变量。