Просто запуск wicd-gtk
, так как Вы используете пользователя root, wicd демон запустится автоматически Вами и настроит его в GUI. (Существует значок панели задач на панели, самой правой),
Это оболочка зависимая и не задокументированная АФАИКС. В ksh
и bash
, в первом случае, foo
будет иметь тот же самый stdin, что и bar
. Они будут бороться за выход echo
.
Так, например, в
$ seq 10000 | paste - <(tr 1 X)'
1 X
2 X042
3 X043
4 X044
5 X045
[...]
вы видите доказательства того, что paste
читает каждый второй блок текста из вывода seq
, в то время как tr
читает другие.
С помощью zsh
он получает внешний stdin (если только это не терминал и оболочка не является интерактивной, в этом случае она перенаправляется из /dev/null
). ksh
(где он возник), zsh
и bash
являются единственными оболочками типа Борна с поддержкой замещения процесса AFAIK.
В эхо-"bla". | bar < <(foo)
, обратите внимание, что bar
stdin будет трубой, подаваемой выходом foo
. Это хорошо определенное поведение. В этом случае, кажется, что foo
stdin - это труба, подаваемая echo
во всех ksh
, zsh
и bash
.
Если вы хотите иметь последовательное поведение во всех трех оболочках и быть уверенным в будущем, так как поведение может измениться, так как оно не документировано, я бы написал:
echo bla | { bar <(foo); }
Чтобы быть уверенным, что foo
stdin также является трубой из echo
(я не вижу, почему вы хотите это сделать). Или:
echo bla | bar <(foo < /dev/null)
Чтобы убедиться, что foo
считывает , а не из трубы из echo
. Или:
{ echo bla | bar 3<&- <(foo <&3); } 3<&0
чтобы foo
считывал внешний stdin как в текущих версиях zsh
.
эхо "бла" | foo | bar
: Вывод echo "bla"
перенаправляется на foo
, вывод которого перенаправляется на bar
.
echo "bla" | bar <(foo)
: Эта одна труба выводит эхо "bla"
на bar
. Но bar
выполняется с аргументом. Аргументом является путь к дескриптору файла, куда будет отправлен вывод foo
. Этот аргумент ведет себя как файл, содержащий вывод foo
. Значит, это не то же самое.
эхо "bla" | bar < <(foo)
: Можно предположить, что вывод echo "bla"
должен быть отправлен на bar
и все утверждение эквивалентно первому. Но это неправильно. Происходит следующее: Поскольку входное перенаправление <
выполняется после трубы (|
), оно перезаписывается. Таким образом, <
эхо "bla" не является трубой на бар. Вместо этого вывод foo
перенаправляется как стандартный вход на bar
. Чтобы очистить это, смотрите следующую команду и вывод:
$ echo "bla" | cat < <(echo "foo")
foo
Как видите, эхо "bla"
заменяется на эхо "foo"
.
Теперь смотрите эту команду:
$ echo "bar" | cat < <(awk '{printf "%s and foo", $0}')
bar and foo
Итак, эхо-"бар"
передается на awk
, который читает stdin и добавляет строку и foo
к выходу. Этот вывод вывод выводится в cat
.