man*_*ans 2 command-line bash scripts environment-variables
我想从我编写的 bash 脚本中设置一个环境变量。所以我创建了一个 bash 脚本并将其命名为set.sh. 其内容如下:
#!/bin/bash
export DEV_SRC="/home/m/mydata/sourecCode"
echo $DEV_SRC
Run Code Online (Sandbox Code Playgroud)
当我运行这个脚本时,输出是
/home/m/mydata/sourecCode
Run Code Online (Sandbox Code Playgroud)
但是,如果我在运行上述脚本的同一终端上运行此代码,
echo $DEV_SRC
Run Code Online (Sandbox Code Playgroud)
我看不到任何值,因此我认为该值未导出。
为什么不导出值?
小智 5
默认情况下bash创建当前环境的副本,在此环境中执行脚本,然后销毁副本。
要在当前环境中执行脚本,您应该使用以下语法:
. /home/m/mydata/sourecCode
echo $DEV_SRC
Run Code Online (Sandbox Code Playgroud)
或者
source /home/m/mydata/sourecCode
echo $DEV_SRC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6654 次 |
| 最近记录: |