Basis van Linux en de opdrachtregel
$ false && echo A || echo B
$ true || echo C; echo DWelke tekens worden getoond als de bovenstaande twee regels in een shell worden uitgevoerd?
- AAlleen D
- BB en D
- CB, C en D
Antwoord en toelichting tonen
Antwoord: B. B en D
Elk commando geeft bij het beëindigen een exitstatus terug: 0 betekent succes en elke andere waarde mislukking (de laatste waarde is te zien met $?). „A && B” voert B alleen uit als A slaagt, „A || B” voert B alleen uit als A mislukt, en „;” voert het volgende commando uit ongeacht het resultaat. In de eerste regel mislukt false, dus echo A wordt overgeslagen, het geheel „false && echo A” geldt als mislukt, en echo B na || wordt uitgevoerd. In de tweede regel slaagt true, dus echo C wordt niet uitgevoerd, terwijl echo D na „;” altijd wordt uitgevoerd; er worden dus B en D getoond.
Verder: nog 9 vragen over Basis van Linux en de opdrachtregel