Назад | Перейти на главную страницу

Отправлять вывод командной строки в качестве аргументов другой команде

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

Как установить все пакеты из специальной группы одной командой? (Как отправить вывод третьей команды в качестве аргумента второй?)

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 это не будет работать как таковое, так как выходные данные второй команды могут и будут содержать пакеты, которые могут быть удовлетворены разными способами (например, network / telnet соответствует как pkg: // solaris / service / сеть / telnet и pkg: // solaris / network / telnet.