子shell测试
pstree
echo $$ //当前进程pid
echo $PPID //父进程id
子进程测试:
新增文件:
[world@localhost]~ # vi bashpid.sh
#!/bin/bash
echo $BASHPID
成都创新互联技术团队十多年来致力于为客户提供网站设计制作、成都网站制作、品牌网站制作、营销型网站、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了上1000+网站,包括各类中小企业、企事单位、高校等机构单位。
//测试
[world@localhost]~ # echo $BASHPID //当前shell
6136 //结果
[world@localhost]~ # bash bashpid.sh
6550 //结果
[world@localhost]~ # source ./bashpid.sh //不开启shell子进程
6136 //结果与当前shell结果一样
[world@localhost]~ # ./bashpid.sh //开启子shell运行脚本
6555
[world@localhost]~ # (echo $BASHPID) //小括号表示进入子shell执行命令
6558
[world@localhost]~ # { echo $BASHPID; } //花括号表示在当前shell执行命令
6136 //结果与当前shell结果一样
变量只能往下传、继承,不能往上传、继承
#name=parent;(echo "1:$name";name=son;echo "2:$name");echo "3:$name" //小括号 () 开启子shell 表示进入子shell
1:parent
2:son
3:parent
花括号{}不开启子shell,shell编程中可能用到。
# name=parent;{ echo "1:$name";name=son;echo "2:$name"; };echo "3:$name" //花括号不进入子shell
1:parent
2:son
3:son
网站栏目:子shell测试
新闻来源:http://scyingshan.cn/article/jodcpi.html