子shell
来源:互联网 发布:快递系统数据库设计 编辑:程序博客网 时间:2024/05/01 08:03
圆括号里的命令列表
( 命令1; 命令2; 命令3; ... )
嵌在圆括号里的一列命令在一个子shell里运行。
( 命令1; 命令2; 命令3; ... )
嵌在圆括号里的一列命令在一个子shell里运行。
注意: 在子shell里的变量不能被这段子shell代码块之外外面的脚本访问.这些变量是不能被产生这个子shell的父进程(parent process)存取的,实际上它们是局部变量(local variables)。
简单来说就是小括号里面的命令会生成一个子shell,在子shelll里面运行。子shell继续父类的变量,但子shell修改的变量不会影响到父类。
例如:
str=hello
echo $str
{
str=hellotest
echo $str
}
echo $str
--------------------------------------
运行结果:
hello
hellotest
hello #第三次打印,结果还是hello,因为子shell没有修改父shell的变量的值。
在以上代码的括号里面和括号外面都加上一句打印当前shell的pid, echo $$。
str=hello
echo $$
echo $str
{
str=hellotest
echo $str
echo $$
}
echo $str
------------------------------------------运行脚本发现两个地方打印出来的pid都是一样的,为什么父shell和子shell的pid是一样的?子shell复制了父shell的环境。
0 0
- 子shell
- 子shell
- 父Shell与子Shell
- 父Shell与子Shell
- Shell及 子Shell关系
- 子shell的$$
- 子shell的$$
- (管道)写入子shell
- shell子进程解析
- 子Shell的$$
- shell子进程
- shell中提取子串
- shell中提取子串
- linux 管道产生子shell
- 远程ssh子shell解决方法
- 子shell和反引用
- [精华] [shell问答录]:命令、进程、子shell...
- 父 shell,子 shell ,export 与 变量传递
- (standard c libraries translation )strcpy
- Linux设备驱动子系统 - USB
- Regex库安装小结
- 两种方式将svn仓库中的项目添加到Eclipse中
- iOS开发:NSLog使用技巧
- 子shell
- IOS HelloWorld
- 程序员的自我修养: Windows下的动态链接
- 架构方法实践 - 客户端CAD工具范例 (一 序论, 前架构部分)
- 程序员谈学习:我为什么要学习Linux?
- 查看 mysql 数据库当前连接数
- SQL Server FOR XML PATH 语句的应用实例
- Compile ffmpeg for iOS 6, support Simulator & armv7 & armv7s
- oracle 查询性能优化