从脚本设置变量

时间:2014-05-20 11:52:02

标签: bash shell var

我有一个像这样写的“set_var.sh”脚本

#!/bin/bash

export NAME=release
export ROOT=/Volumes/name/dev/release

但是如果我从终端运行这个set_var.sh,之后我发出set命令检查变量我找不到NAME和ROOT var。

我想知道我的情况有什么问题。

2 个答案:

答案 0 :(得分:0)

它是在子shell中设置的。

你需要

source set_var.sh

答案 1 :(得分:0)

如果您只是运行 set_var.sh,它会在自己的shell中运行,退出,丢失已设置的变量。

如果要更改交互式shell中的变量,可以使用:

source set_var.sh

或简写,

. set_var.sh

这将执行脚本的行,就好像它们被输入到交互式shell中一样。

请注意,当您以这种方式“获取”文件时,它不需要第一行的“shebang”。

另请注意,此功能也存在于Bourne shell中,但仅限于短格式版本。