码迷,mamicode.com
首页 > 系统相关 > 详细

子shell测试

时间:2018-08-10 23:21:38      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:source   开启   子进程   bin   执行   echo   编程   父进程id   运行   

pstree
echo $$ //当前进程pid
echo $PPID //父进程id
子进程测试:
新增文件:
[world@localhost]~ # vi bashpid.sh
#!/bin/bash
echo $BASHPID

//测试
[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测试

标签:source   开启   子进程   bin   执行   echo   编程   父进程id   运行   

原文地址:http://blog.51cto.com/12555197/2157418

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!