将命令行输出作为参数发送给其他命令

将命令行输出作为参数发送给其他命令

1)这是安装特殊包的命令(例如 system/header)

#pkg install system/header

2)我们还可以安装几个包

#pkg install system/header network/ssh package/rpm

3)以下命令显示特殊组中的所有可用软件包

#pkg contents -o fmri -H -rt depend -a type=group solaris-desktop

如何用一个命令安装特殊组中的所有软件包?(如何将第三个命令的输出作为参数发送给第二个命令?)

答案1

xargs 是你的朋友...:

vdebaere@toto:~$ printf "test1\ntest2\ntest3" |xargs echo
test1 test2 test3

应用于你的例子:

root@toto:~# pkg contents -o fmri -H -rt depend -a type=group solaris-desktop | xargs pkg install -n

请注意,在 pkg install 的情况下,这将不起作用,因为第二个命令的输出可以并且将包含可以通过不同方式满足的包(例如 network/telnet 同时匹配 pkg://solaris/service/network/telnet 和 pkg://solaris/network/telnet。

相关内容