Gin*_*sus 5 fedora rpm rhel terminal pipe
从 rpm 的手册页:
--pipe CMD
Pipes the output of rpm to the command CMD.
Run Code Online (Sandbox Code Playgroud)
为什么要添加这个?为什么要使用它而不是通过外壳本身进行管道输送?
小智 1
rpm
当从 shell 调用时,该选项没有用处。
但是,当从其他程序调用时,如果这些参数是从某种形式的用户输入构造的,那么它将简化传递非静态参数rpm
(前提是调用程序是用不会强制调用 shell 来执行其他程序的语言编写的) :
rpm
等待CMD
。sh -c \xc2\xb4rpm Argument1 Argument2 ...\xc2\xb4 | CMD
,如果这些参数可能包含空格或 shell 元字符,则需要对参数进行额外的引用,以防止它们被拆分为单词或被 shell 解释:rpm
是调用程序的用户输入,有可能是这样,程序员在为 shell 构建参数列表时Tom and Alice\xc2\xb4s dog
必须将其转换为。Tom\\ and\\ Alice\\\xc2\xb4s\\ dog
(并且 的任何参数都CMD
必须以相同的方式引用。)--pipe
选项时,调用程序不需要这些。CMD
必须像以前一样被引用,因为 CMD 是由 shell 解释的,而 shell 是从单个参数调用的rpm
,因为CMD
它是来自单个参数的单个单词rpm
。)