我定义了一个 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。
知道我在这里错过了什么吗?谢谢 !
你必须“来源”
来源 your_script
编辑 1
看到这个答案...
编辑 2
. filename [arguments]
或者
source filename [arguments]
从当前 shell 上下文中的 filename 参数读取和执行命令。如果文件名不包含斜杠,则使用 PATH 变量来查找文件名。当 Bash 不处于 POSIX 模式时,如果在 $PATH 中找不到文件名,则搜索当前目录。如果提供了任何参数,它们将在执行 filename 时成为位置参数。否则位置参数不变。返回状态是最后执行的命令的退出状态,如果没有执行命令,则为零。如果找不到文件名或无法读取文件名,则返回状态为非零。这个内置函数等同于 source。