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

Shell变量传递

2013-11-12 14:05 411 查看
父脚本 father.sh

#!/bin/bash

# echo father pid
echo "Father Process ID is $$"

# define local env
localvar="Define a local variable."
echo "localvar=$localvar"

ENVVAR="Define a environment variable."
export ENVVAR
echo "ENVVAR=$ENVVAR"

$PWD/child.sh

echo "Retrun to father process: $$"
echo "localvar=$localvar"
echo "ENVVAR=$ENVVAR"


子脚本 child.sh

#!/bin/bash

echo "Child Process ID is $$"
echo "My Father Process ID is $PPID"

echo "localvar=$localvar"
echo "ENVVAR=$ENVVAR"

localvar="Redefine this local variable."
ENVVAR="Redefine this environment variable."

echo "localvar=$localvar"
echo "ENVVAR=$ENVVAR"


结论

1 本地变量无法传递到子进程

2 环境变量对所有的子进程都有效

3 无论本地变量还是环境变量都无法向父进程传递参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: