如何在 Linux 中更新环境变量?

Pap*_*cel 1 linux bash

我定义了一个 Env 变量: export NBR_PROCESS=2

基本上我应该能够更新变量,但是当我执行以下脚本时,每次运行都会得到相同的结果:

#!/bin/bash
echo "Script 2: Before decrement : $NBR_PROCESS"
export NBR_PROCESS=$(($NBR_PROCESS - 1))
echo "Script 2: After decrement : $NBR_PROCESS"
Run Code Online (Sandbox Code Playgroud)

在每次执行时,我都会得到以下相同的结果:

Script 2: Before decrement : 2
Script 2: After decrement : 1
Run Code Online (Sandbox Code Playgroud)

我想做的是通过运行脚本来减少变量 NBR_PROCESS。

知道我在这里错过了什么吗?谢谢 !

Luc*_*c M 5

你必须“来源”

来源 your_script


编辑 1
看到这个答案...


编辑 2

. filename [arguments] 或者 source filename [arguments]

完整的解释:

从当前 shell 上下文中的 filename 参数读取和执行命令。如果文件名不包含斜杠,则使用 PATH 变量来查找文件名。当 Bash 不处于 POSIX 模式时,如果在 $PATH 中找不到文件名,则搜索当前目录。如果提供了任何参数,它们将在执行 filename 时成为位置参数。否则位置参数不变。返回状态是最后执行的命令的退出状态,如果没有执行命令,则为零。如果找不到文件名或无法读取文件名,则返回状态为非零。这个内置函数等同于 source。