Dag*_*ang 17 unix linux bash pipe
这是一个用于随机生成10个字符密码的管道命令:
cat /dev/urandom | base64 | head -c 10
Run Code Online (Sandbox Code Playgroud)
我的问题是cat /dev/urandom | base64
无限输出流本身不会停止.但为什么追加head -c 10
会使整个管道终止?我假设cat
,base64
并且head
是3个独立的进程,如何head
终止cat
?
Woo*_*ass 23
head
读取所需金额后关闭输入文件.当管道从一侧关闭时,另一侧会出现写入错误; 这会导致base64
关闭,从而导致cat
关闭.