Коли заїзжав в Київ в гості до війни, то дуже впадало в очі: — Громадський транспорт. Особливо, ущєрбні маршрутки всюду, тисячі їх. З «з двадцяти два, передайте будь ласка» і «на наступній зупиніть».
вкладений шелл має вийти з кодом 1, через що має спрацювати вторий printf, той, що в зовнішньому шеллі
subshell буде з кодом 1 у прикладах якщо він останній у списку, бо «part of any command executed in a && or || list except the command following...
Валентине, дякую за детальне зауваження. Перечитав свої відповіді й бачу, що помилково змішав два незалежні механізми.
Ви маєте рацію: системний виклик «sync()» і запис змінених даних із кешу на диск не мають стосунку до описаного інциденту.
Інша річь що рядовий вайтівець «трафі клаб» дозволити не може, і тре шукати трохи щось середніше.
тож середній автіццець має низкі можливості жити саме у чорному крак хаузі
...
Не подобається мені спілкуватися з людьми, які свідомо рубають окуня чи прикидаються дурачками, роблячи вигляд, що це смішно комусь, окрім них. у нас у ссср теж так було )) а ти не був у нас у ссср?
Еее ви тут щось дуже нове почали розповідати. До чого тут взагалі sync()? У вас один фізичний диск на декілька хостів з паралельним доступом? Або ви вимикаєте живлення компьютера при перезапуску сервіса? Здається, ні.
Ви не туди дивитесь. У прикладі
(set -e; false; printf 'UNCHANGED\n') || printf 'FAILED\n'вкладений шелл має вийти з кодом 1 одразу виконавши false, через що має спрацювати вторий printf, той, що в зовнішньому шеллі.
Ви цитуєте мануал, але це відповідь на інше питання. Задокументована поведінка Bash не скасовує того факту, що системний виклик sync каже «успіх», коли дані ще не на диску. Помилки немає — тому Bash і не спрацьовує.
1. Я несколько раз ездил на тралике с/до вокзала никаких проблем, тебе не повезло 3. Это наверное ублюдочный метроград или Подол 6. Нету никакой давно парковки на крещатике много лет, приедь освежи свои воспоминания 7.
а що дивного якщо в мануалі прописано bash(1)
-e Exit immediately if ... The shell does not exit if the command that fails is ... part of any command executed in a && or || list ...
Коментарі