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/
分类: 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的所有权。
需要注意的是:不可以将子进程的变量导出到父进程;要实现这一点,可以通过重定向。