Подозреваю, что автор пользуется удалённым эмулятором терминала типа PuTTY, и обработка сигналов ^C там немного отличается от подобной обработки на локальной машине.
$SHELL должен содержать информацию о предпочтительном логин шелле (тому, что в /etc/passwd прописан).
По стечению обстоятельств, чаще всего оно совпадает с текущим шеллом сессии, но не стоит на это полагаться.
SHELL
This variable shall represent a pathname of the user's preferred command
language interpreter. If this interpreter does not conform to the Shell
Command Language in XCU Shell Command Language, utilities may behave
differently from those described in POSIX.1-2008.
// http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08
Подозреваю, что автор пользуется удалённым эмулятором терминала типа PuTTY, и обработка сигналов ^C там немного отличается от подобной обработки на локальной машине.
А что там может отличаться? Он или передаёт сочетание клавиш шеллу, или нет.
монах Тук
Я правильно понимаю, что Ctrl+C прерывает sleep, но не цикл? То есть в Вашем примере при нажатии сразу же печатается дата?
Ctrl+Z или Ctrl+C ничего не даёт. Печатается Z или C и всё на этом, продолжается вывод даты. Спасибо, кто откликнется.
Все эти ваши хоткеи Ctrl+Z и Ctrl+C - это посылка сигнала процессу, реакция на которые может быть заблокирована, или которые будут прерывать блокированные состояния (sleep).
Посылайте сигнал -9, который невозможно блокировать:
Прежде, чем я приступлю к работе (я сейчас с винды пишу), внесу уточнение, важно оно или нет не знаю, но меня не спрашивали, а сам я сразу и точно не могу оценить степень важности, ибо я ноль полный. Быть может, оно прольёт свет на проблему.
Ctrl+Z и Ctrl+C не печатают ^Z или ^C, а печатают просто Z или C
монах Тук
Это не VitualBox? Там правый Ctrl особое значение имеет.
Переключение языка не на Ctrl висит?
Если написать просто cat и нажать Ctrl+C прервётся? Если просто C напечатает — нажмите Enter, выведет снова C?
ну да, висит и пусть висит. Понимаете, это удобно для меня очень. Я годами так работал. Это из-за этого? Похоже, что из-за этого, я убрал переключение языков с Ctrl и Ctrl+C заработало нормально.
А можно как-нибудь по-другому достичь эффекта Ctrl+C? Сразу скажу, что убиение какого-либо процесса вряд ли приведёт к желаемому результату, ибо Ctrl+C не убивает, по-моему никакой процесс. По крайней мере я не заметил в htop чтобы что-то исчезало. Хотя конечно, наглядность там та ещё.
Я работаю в консоли, которая такой чёрный квадратик на панели. "Konsole Terminal", командная строка /bin/bash -l
Если чё- это самое начало Робачевского и Немнюгина
Да. В иксах переключение раскладки реализовано по-дурацки, поэтому вешать его на клавиши-модификаторы нельзя: сочетания с их участием перестают работать.
Да. В иксах переключение раскладки реализовано по-дурацки, поэтому вешать его на клавиши-модификаторы нельзя: сочетания с их участием перестают работать.
мда... Так это же наше всё, как я понял. Есть какая-нибудь альтернатива иксам?
Я, кстати, давно это заметил- ни в одной программе нельзя изменить размер шрифта (Сtrl++). Ну. я не стал спрашивать, думал, я ещё мало знаю, почитаю Немнюгина. Почитал называется. Руки повырывать таким программистам.
Но с другой стороны это стимулирует перейти на вменяемые перключатели раскладок. (По моему субъективному мнению объективно лучшим нециклическим вариантом является CapsLock.)