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关闭.