- 论坛徽章:
- 0
|
export ACE_ROOT=/home/ACE/ACE_wrappers
一定要用 export ,export ,是把你设置的环境变量传给当前SHELL的子SHELL,使其在子SHELL中有效。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
【测试】
frame-linux:/export/home/Roben/shell # a=3
frame-linux:/export/home/Roben/shell # cat test.sh
#!/bin/sh
echo a is $a
frame-linux:/export/home/Roben/shell # echo $a
3
frame-linux:/export/home/Roben/shell # ./test.sh // 这是子进程的方式
a is
frame-linux:/export/home/Roben/shell # . test.sh //这是当前进程
a is 3
frame-linux:/export/home/Roben/shell #
【用 export 导出的变量,才能在子进程里面生效】
frame-linux:/export/home/Roben/shell # export a=3
frame-linux:/export/home/Roben/shell # echo $a
3
frame-linux:/export/home/Roben/shell # ./test.sh
a is 3
frame-linux:/export/home/Roben/shell #
|
|