深入理解Shell中的作业、进程与变量
1. 命令名称伪装与exec命令
在Shell操作中,我们可以对任何命令的名称进行伪装,但这可能会带来一些副作用。bash虽然没有与ARGV0直接等效的功能,但有类似的机制。exec命令除了用于操作文件描述符外,还有另一个重要用途:它可以在不创建新进程的情况下运行另一个命令,使新程序替换当前的Shell。bash为exec添加了一个选项,可用于更改程序的名称。例如,若你无法更改系统的Shell,可在 .bashrc 文件中添加以下内容,将当前Shell替换为zsh,并将程序名称显示为sh:
exec -a sh zsh
zsh也有一个用于伪装自身名称的特性。使用 jobs 的 -Z 选项,可在zsh启动后更改其名称和参数,这会影响 ps 命令的输出结果,主要用于从后台运行的脚本中传递状态信息。
2. 本章主要操作总结
本章涵盖了以下重要操作:
- 在单个终端中切换不同的作业。
- 控制Shell退出时哪些作业会被终止。
- 控制Shell如何将命令替换的输出拆分为单词。
- 使用进程替换,将管道和过滤器的优势扩展到期望对文件进行输入或输出的命令。
- 限制程序对系统资源的使用。
- 通过更改程序名称来改变其行为。
3. 变量基础
变量是值的命名占位符,就像一个带有标签的盒子,用于存储信息。Shell处理
超级会员免费看
订阅专栏 解锁全文
818

被折叠的 条评论
为什么被折叠?



