Saída de linha de comando enviada como um argumento para outro comando

1

1) Aqui está o comando para instalar o pacote especial (por exemplo, sistema / cabeçalho)

#pkg install system/header

2) Também podemos instalar vários pacotes

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

3) Aqui está o comando para mostrar todos os pacotes disponíveis do grupo especial

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

Como instalar todos os pacotes de um grupo especial em um comando? (Como enviar saída do terceiro comando como um argumento para segundo?)

    
por pavelartlover 10.10.2013 / 15:16

1 resposta

0

xargs é seu amigo ...:

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

Aplicado ao seu exemplo:

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

Lembre-se que no caso do pkg install, isso não funcionará como tal, já que a saída do segundo comando pode e conterá pacotes que podem ser satisfeitos de diferentes maneiras (por exemplo, rede / telnet corresponde ao pkg: // solaris / serviço / rede / telnet e pkg: // solaris / network / telnet.

    
por 10.10.2013 / 15:45