Обновление: Это более общая команда, которая более воспроизводима. ShellFish определил, что существует более общий шаблон:
non-existingcommand & existingcommand &
например,
xyz & echo &
Кроме того, у меня был сотрудник, пытающийся подключиться к ssh-соединению, и его соединение было закрыто после запуска команды. Таким образом, это не ограничивается определенным эмулятором терминала.
Оригинальный вопрос:
echo?a=1&b=2|3&c=4=
Поведение:
После выполнения команды моя текущая вкладка Gnome Terminal закрывается без предупреждения.
Фон:
Мы тестировали URL-адрес с помощью команды curl, но забывали процитировать его или избегать специальных символов (следовательно, амперсанды и знаки равенства). Ожидая какой-то вздорности о проблемах с синтаксисом или не найденных командах, мы вместо этого смотрели, как наша оболочка просто уходит. Мы потратили некоторое время на сокращение команды до минимума, которая могла бы привести к поведению.
Мы используем терминал Gnome на Ubuntu 14.10. Как ни странно, поведения нет в другом ящике. У меня работает byobu, даже если я отсоединяюсь от сеанса. Это также не происходит на Cygwin. К сожалению, я ограничен тестированием с Ubuntu 14.10 в противном случае.
Примечание. Следующая команда также убивает мой терминал, но только примерно половину времени:
echo?a=1&b=2&c=3=
Дополнительные тесты:
Кто-то рекомендует использовать подоболочку...
[email protected]:~$ bash -c 'echo?a=1&b=2|4&c=3='
bash: echo?a=1: command not found
[email protected]:~$ bash: 4: command not found
Нет выхода.