Основное различие заключается в том, в какой оболочке выполняются различные команды. Поскольку и ssh
, и wireshark
в любом случае являются внешними процессами, семантически не имеет большого значения, какой из них вы используете.
Разница более существенна, если одна или обе команды являются командами оболочки. С mkfifo
обе команды выполняются в текущем экземпляре оболочки. При использовании канала обе команды выполняются в подоболочках, разветвленных из вызывающей оболочки. При замене процесса(<(...)
)wireshark
запускается текущей оболочкой, а ssh
запускается в подоболочке.
Это может повлиять на то, как обрабатываются изменения переменных. Рассмотрим:
x=0; echo foo | { x=1; cat; }; echo "$x"
выводит значение 0 для x
. x=0; { x=1; cat; } < <(echo foo); echo "$x"
выводит значение 1 дляx
В вашем случае я бы использовал простой конвейер; нет необходимости в нестандартных расширениях -, таких как замена процесса.
ssh remote tcpdump -U -n -s0 <moreOpts> -w - | wireshark -k -i -
Вы можете удалить этот ppa вручную:
sudo rm /etc/apt/sources.list.d/ansible-ansible-jessie.list
Тогда:
sudo apt-get update
Если вы хотите использовать этот ppa, добавьте кодовое имя trusty
вместоjessie
:
sudo nano /etc/apt/sources.list.d/ansible-ansible-jessie.list
Затем добавьте следующую строку:
deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main
, затем запустите sudo apt-get update
, посмотрите принятые кодовые имена для ansible ppa , как видите, директории jessie нет в списке.