在当前目录中有一脚本script.sh
如下:
#!/bin/bash
echo $key # 输出变量key
在shell命令行中,定义变量key,分别用source
、.
和bash
命令执行script.sh
脚本:
# 先定义变量key,再分别用三个命令执行脚本
$ key=value # =前后不能有空格
$ source script.sh
value # 输出
$ . script.sh
value # 输出
$ bash script.sh
# 输出,空白
source
和.
:
.
是source
的缩写- 在当前的环境中执行脚本,所以当前环境定义的变量可以在shell脚本中使用
bash
:
- 在当前环境中开一个子shell来执行脚本,当前环境定义的变量无法在脚本中使用
- 可以使用
export
命令将变量输出,使它在子shell环境也可以使用
执行bash script.sh
前,先用export
将变量输出:
$ export key # 此处是key,而不是$key
$ bash script.sh
value # 输出