Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6456940
  • 博文数量: 579
  • 博客积分: 1548
  • 博客等级: 上尉
  • 技术积分: 16635
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-12 15:29
个人简介

http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/

文章分类

全部博文(579)

文章存档

2018年(18)

2015年(91)

2014年(159)

2013年(231)

2012年(80)

分类: LINUX

2013-02-01 14:43:21


在脚本中调用另一脚本(这实际上创建了一个子进程)


father.sh

#!/bin/bash

echo "this is the father"
FILM="A Few Good Men"

echo "I like the film : $FILM"

#call the child script
#export FILM
./child.sh

echo "back to father"
echo "and the film is : $FILM"


exit


child.sh

#!/bin/bash

echo "called from father...i am the child"
echo "filem name is : $FILM"

FILM="Die Hard"
echo "changing film to :$FILM"

exit



结果如下:

解析:这是因为 father 中并没有导出变量 FILM 给 child。



当 father 把 变量 FILM 导出给 child,child脚本就知道了 FILM变量的值了,结果如下:

因为 father 把变量 FILM用 export命令导出了,所以任意的脚本都可以使用 变量 FILM 了,它们将继承的 FILM的所有权。


需要注意的是:不可以将子进程的变量导出到父进程;要实现这一点,可以通过重定向。




阅读(17164) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~