Отрисовка графиков в linux

Интересно. Похоже, это специфичное для Bash поведение.

Я пробовал 3 других POSIX-совместимых оболочки (zsh, dash, busybox), и во всех из них echo "$ (trap)" дал тот же результат, что и (trap) : подоболочка запускается, и подоболочка не показывает ловушку EXIT .

(Обратите внимание, что trap -p специфичен для Bash, и без дополнительных параметров он делает то же самое, что и trap без параметров.)

Поведение Bash потенциально полезно : это означает, что вы можете написать a = "$ (trap)" для захвата настроек прерывания родительской оболочки, которые, скорее всего, будут интересны.

Однако, если вы установите или очистите ловушку в подоболочке, то она будет перечислить ловушки подоболочки вместо родительской:

$ trap 'echo bye' EXIT
$ echo "$(trap TERM; trap)"  # explicitly clear TERM, but leave EXIT alone
trap -- '' SIGTSTP
trap -- '' SIGTTIN
trap -- '' SIGTTOU

Таким образом, они также охватили редкий случай, когда вы интересуется ловушками подоболочки.

В общем, я заметил, что разработчики Bash, похоже, приложили дополнительные усилия, чтобы обработка подоболочки работала нормально. Кроме того, с помощью Bash намного проще управлять фоновыми подпроцессами, чем с помощью более минимальных оболочек POSIX.

3
18.04.2017, 16:12
2 ответа

Вы можете явно указать положение узла с помощью атрибута pos, например:

 "foo" [height=0.52778, label="node foo label",
        pos="19938,4672.2", width=1.2222];
2
27.01.2020, 21:18

Хотя ответы на GD.se не дают прямого ответа на мой вопрос. Тем не менее, это приятное чтение и правильный сайт, чтобы задать этот вопрос.

https://graphicdesign.stackexchange.com/questions/16629/drawing-block-diagram

2
27.01.2020, 21:18

Теги

Похожие вопросы