Несколько отличалось ранее для команды `bg` в zsh и bash.

Сегодня я заметил странное поведение, я надеюсь, что смогу получить какое-то направление дальше.

Вот что я делаю...

Когда по крайней мере один процесс уже запущен в фоновом режиме, я прерываю(Ctrl + Z)активный процесс, а затем помещаю его в фон с bg.

Вот результаты вzsh:

$ some-long-running-command
^Z
zsh: suspended  some-long-running-command
$ bg
[2]  - continued  some-long-running-command
$ jobs
[1]  + running    other-command-previously-run
[2]  - running    some-long-running-command
$

И вот как это выглядит вbash:

$ other-command-previously-run &
[1] 12345
$ some-long-running-command
^Z
[2]+  Stopped                 some-long-running-command
$ bg
[2]+ some-long-running-command &
$ jobs
[1]-  Running                 other-command-previously-run &
[2]+  Running                 some-long-running-command &
$ 

Так почему же bashдержит процесс в фоновом режиме с bgкак "текущий" процесс (, обозначенный "+ ", который будет возобновлен, если fgзапущен ), а zshустанавливает "другой" процесс как текущий? Я не могу найти никакой документации, предполагающей, что поведение будет другим... Интересно, что если вы сделаете несколько fg+ ^Z+ bgв zsh, «текущий» выбор процесса будет «триггерным».

Кто-нибудь еще это видел?

5
задан torrential coding 31 March 2012 в 09:18
поделиться