欢迎光临散文网 会员登陆 & 注册

TLCL学习笔记|第37章|exotica(一些用法)

2022-05-09 23:04 作者:LogByMax  | 我要投稿

(认知有限,如有不妥,还望告知,欢迎讨论)


命名管道

行为类似于文件,用以实现FIFO,为内容提供一个暂存地

创建一个命名管道

mkfifo pipe1

命名管道的使用

eg.(用两个终端)


组命令和子shell

两者主要都是用来组合命令使用的,长得很像。

不同之处在于,组命令用花括号把它的命令包裹起来,而子 shell 用括号。值得注意的是,鉴于 bash 实现组命令的方式, 花括号与命令之间必须有一个空格,并且最后一个命令必须用一个分号或者一个换行符终止。

组命令

{ command1; command2; [command3; ...] }

子shell

(command1; command2; [command3;...])


进程替换

(个人目前觉得还是一个暂存区概念的东西,子shell被杀死后,通过进程替换,外面的shell可以读取子shell没死之前产生的内容)

一种适用于产生标准输出的进程:

<(list)

另一种适用于接受标准输入的进程:

>(list)


使用例子

eg.使用read处理一个目录列表的内容,内容创建于一个子 shell

陷阱

个人理解:当脚本运行过程中,有外部信号输入时,trap用来对这种信号进行处理,确保原脚本程序合理安全的运行。

eg. 使用trap防止程序被中断


异步执行

wait

eg.父进程等待子进程执行完再结束。

=END=

=reference=

[1]http://billie66.github.io/TLCL/book/chap37.html

TLCL学习笔记|第37章|exotica(一些用法)的评论 (共 条)

分享到微博请遵守国家法律