жүргізілсе, онда команда өз орындалуын фондық режимде бастайды, ал
басқару бірден командалық интерпретаторға беріледі.
5.8.3. Командалардың шартты орындалуы Әр команданың орындалуына жіберу алдыңғы команданың
орындалу нәтижесінен (қайтару коды) тәуелді болатын командаларды
кезегімен орындау үшін && және ІІ бөлгіші қолданылады.
Команда1 орындау үшін және егер ол сәтті орындалған болса,
команда2 орындау үшін келесі жазба қолданылады:
команда1 && команда2
Команда1 орындау үшін және егер ол сәтсіз орындалған болса,
команда 2 орындау үшін келесідей ұқсас жазба қолданылады:
команда1 | | команда2
Команданың сәтті орындалуы қайтарылу кодына байланысты
анықталады. Сонымен қоса, нольге тең қайтару коды команданы сәтті
орындады деген мағынаны береді; нольге тең емес қайтару коды –
сәтсіз.
Ішінде && және || бөлгіштері бар командалық жолақ логикалық
өрнек
ретінде
қарастырылады,
оның
мәні
командалық
интерпретатормен
команда
орындалуы
бойынша
есептеліп
шығарылады. && және || бөлгіштер сәйкесінше логикалық қосу және
логикалық көбейту операциясы ретінде қарастырылады. Логикалық
атқарымдар аргументі ретінде команданы қайтару кодтары
пайдаланылады. Қайтарудың нольдік коды нақты мәнге сәйкес келеді,
нольден ерекше код— жалған мән.
Бөлгіштердің бұндай интерпретациясында олардың жұмыс жасау
ережелері логика тілімен сипатталуы— егер && операциясымен
бөлінген алғашқы екі команданың жұмысының қайтару коды нольге
тең емес болса (жалған мән), демек логикалық атқарымның барлық
мәндері жалған болады және екінші команданы орындау қажеттілігі
жоқ. Сәйкесінше, егер || операциясымен бөлінген алғашқы екі
команданың жұмысының қайтару коды нөлге аяқталса (нақты мән),
демек логикалық атқарымның барлық мәндері нақты болады және
екінші команданы орындау қажеттілігі жоқ.
|| және && операцияларының интерпретациясы солдан оңға қарай
жүргізіледі, сонымен қоса олардың артықшылықтары бірдей.
Артықшылықты өзгерту үшін дөңгелек жақшаларды пайдалану талап
етіледі. Осылайша, command1 || command2 && command3 өрнектері
(command1 || command2) && command3 өрнектеріне тең, бірақ