加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux管道有多个程序要求用户输入

发布时间:2021-01-10 15:04:44 所属栏目:Linux 来源:网络整理
导读:我想知道如何创建一个管道 program 1 | ... | program N 多个程序要求用户输入的地方.问题是|并行启动程序,因此它们开始并行地从终端读取. 对于这种情况,有一个管道是有用的只有在程序i产生了一些输出后才启动程序(i 1). 编辑: 例: cat /dev/sda | bzip2 |

我想知道如何创建一个管道

program 1 | ... | program N

多个程序要求用户输入的地方.问题是|并行启动程序,因此它们开始并行地从终端读取.

对于这种情况,有一个管道是有用的只有在程序i产生了一些输出后才启动程序(i 1).

编辑:

例:

cat /dev/sda | bzip2 | gpg -c | ssh user@host 'cat > backup'

这里gpg -c和ssh都要求输入密码.

这个特定示例的解决方法是创建ssh密钥对,但这在每个系统上都是不可能的,我想知道是否存在通用解决方案.
此外,gpg允许将密码短语作为命令行参数传递,但出于安全原因,不建议这样做. 最佳答案 你可以使用这种结构:

(read a; echo "$a"; cat) > file

例如:

$(read a; echo "$a"; echo cat is started > /dev/stderr; cat) > file
1
cat is started
2
3

这里从键盘输入1,2和3;猫开始是由echo写的.

执行命令后的文件内容:

$cat file
1
2
3

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读