Если Вы - пользователь Emacs существует Режим музы, который обеспечивает разметку languagte (стиль Wiki).
Используя музу можно опубликовать файл к HTML, PDF, DocBook, ЛАТЕКСУ, и т.д.
Я смог воспроизвести использование поведения zsh 4.3.10 (i686-pc-linux-gnu)
.
% cat <(funjoin <(cat demo) <(cat demo)) | head -1
join: /proc/self/fd/11: No such file or directory
Я вырыл в руководство и самое близкое, которое я нашел к этой проблеме, была Замена Процесса главы в man zshexpn
и MULTIOS в man zshmisc
.
Обе главы предлагают помещение вовлечения обходного решения фигурные скобки вокруг части команды.
Я попробовал это
% { cat <(funjoin <(cat demo) <(cat demo)) } | head -1
1
и это работает.
Я не смог полностью grok что семантика { }
находится в zsh. Руководство объясняет это просто как список команд. Я также не полностью понимаю то, что точно делает этот MULTIOS. Это, казалось, не имело никакого значения, было ли это включено или отключено.
Я пытался поместить фигурные скобки в различные места, включая в теле функции funjoin
, но единственное место, где это работает правильно, вокруг внешнего cat
.
Я не могу воспроизвести это под zsh_5.0.0-2ubuntu3_amd64.deb на Linux, но /proc/self/fd/11
походит на довольно высокое количество. Это только перестало работать с head -1
? Как насчет head -10
? Делает вывод
cat <(ls -l /proc/self/fd ; my_join_fn <(cat demo.txt) <(cat demo.txt)) | head -1
привести к освещению?