обработка замены команды у рыбы по сравнению с другими оболочками (sh, удар, zsh)

Вы не можете в большинстве случаев из-за бесклассовых сетей. Данный адрес IPv4 может иметь 30 различных сетевых масок.

5
23.05.2017, 15:40
1 ответ

Хорошо, я думаю, что у меня есть подсказка, что продолжается.

Поведение Вы наблюдаете в zsh и ударе при выполнении echo $(mc) вызывается mc.

Когда Вы работаете mc обычно, это не реагирует, когда Ctrl+c нажимается, так как это игнорирует SIGINT. Способ закончиться mc путем нажатия F10 и Enter.

Когда Вы работаете echo $(mc) вход переходит в mc процесс, таким образом, неудивительно, что при нажатии Ctrl+c, ничего не произойдет, потому что mc игнорирует SIGINT. Но когда Вы работаете echo $(mc) и нажмите F10 и Enter, он будет реагировать. (Когда я затем нажимаю F10 и Enter снова, он на самом деле выходит; это должно выйти при первой попытке, но я понятия не имею, почему это не делает.)

От этого факта я вывожу в ту полночь Командующего, работает обычно, но вывод от него помещается в буфер оболочки, таким образом, он может позже использоваться echo. Что-то мы должны считать нормальным.

Также Вы думаете, что удар и zsh зависают, но я сказал бы, что они не зависают, но ожидают echo управляйте для возврата. Но echo может только возвратиться когда mc нажимаются возвраты, которые это только делает, когда F10 и Входят. С этим мы можем также объяснить, что происходит, когда Вы нажимаете Ctrl+z. Путем нажатия комбинации mc засыпает как он, был бы, если Вы работали mc обычно и echo все еще ожидает сна mc.

Таким образом, все - нормальное поведение. За исключением того, что делает рыба. рыба, кажется, запускает команды, выполненные с echo ($command) в фоновом режиме. Это отчасти имеет смысл, так как для такой команды обычно не нужен никакой вход. Для, почему и как у меня нет ответа. Но Вы видите, что это работает в фоновом режиме, когда Вы входите

echo (mc)
jobs
1
27.01.2020, 20:43

Теги

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