попробуй так:
dpkg --add-architecture i386
apt-get update
apt-get install multiarch-support
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
Если вашему приложению требуется больше библиотек, установите все с :i386 в имени библиотеки.
Веб-сайт пакетов Ubuntu может помочь вам найти пакеты, предоставляющие файлы, которые в конечном итоге отсутствуют.
stdin
из echo
подключены к терминалу, поэтому вывод идет туда, когда вы выполняете echo 'test' >&0
. Обычно echo
не использует свой стандартный ввод, но он есть, так же, как, например, для. cat
. С другой стороны, если вы запустите echo foo | echo test >&0
, вы получите ошибку «Bad file descriptor», так как канал, подключенный к стандартному вводу второго echo
, читается -только для него.
В другом вашем фрагменте, с stdbuf
, я думаю, что происходит гонка между wc
замечающими, что канал в его stdin
закрыт (вы перенаправляете сторону записи, так что нет -одна запись в канал )и echo
запись в терминал. Дело не в буферизации (, которая на самом деле не должна иметь значения, поскольку echo
все равно должна сбрасывать буфер при завершении ), вы можете получить то же самое с strace echo...
или env echo...
. Все, что в левой части замедляет запуск echo
, должно иметь эффект. Кроме того, помните, что только с echo | wc
вы, скорее всего, запустите встроенную оболочку -в реализации echo
, а с stdbuf
, env
или strace
запустится внешний echo
. Встроенные быстрее.
В общем, если у вас есть два процесса, записывающих что-то одновременно, вы не можете делать никаких предположений о порядке записи, если только они явно не синхронизируются.