您的位置:首页 > 运维架构 > Shell

如何在shell脚本中导出数组供子进程使用

2015-12-03 14:30 579 查看
功能说明:设置或显示环境变量
  语 法:export [-fnp][变量名称]=[变量设置值]
  补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登录操作。
  参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。

假设在shell脚本中有如下变量(为了演示问题,没有测试):
COUNT=18
ARRY[0]="Hello"
ARRY[1]="World"

function add()
{
result=$1+$2
}

若想让子进程调用,可按如下方式在脚本中进行导出:
export COUNT
export -f add
export all_elements=$(declare -p ARRY)

在子进程中除了数组外,其它都可按正常的调用方式调用即可。
在子进程中,特别是函数中,若调用导出数组,请在调用前执行,执行一次即可:
eval $all_elements

参考地址:
  http://stackoverflow.com/questions/5564418/exporting-an-array-in-bash-script
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: