在shell脚本中,我想从日志文件中grep一个值并设置为一个环境的值。在日志文件中,有一行如下:
SOME_PATH=/some/specific/path
在我的shell脚本中,我grep SOME_PATH
关键字,我得到了上面的行并将其与=
分开,但我现在能够设置环境变量:
line=`grep "SOME_PATH" /path/to/the/log.log`
path=${line##*=}
export SOME_PATH="$path" #I cannot change the environment variable with this line.
如果我只有下面的脚本,环境变量就会改变。
export SOME_PATH=/some/specific/path
答案 0 :(得分:0)
导出的变量可以在从export
编辑var的shell(脚本)中生成的进程中使用,也可以在source
d脚本和export
语句的其他脚本中使用。
$ cat exp.sh
#!/bin/bash
export MYVAR="hi there"
bash
# or bash -c "echo here: $MYVAR"
第二种方式:
$ cat exp.sh
#!/bin/bash
export MYVAR="hi there"
$ cat imp.sh
#!/bin/bash
. exp.sh
echo $MYVAR
以下是另一种解释:advanced bash scripting guide。